mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2025-12-18 20:30:08 +08:00
Introduced a new eslint.config.js using neostandard and added related devDependencies. Updated codebase for consistent formatting, spacing, and function declarations. Minor refactoring and cleanup across multiple files to improve readability and maintain code style compliance.
37 lines
1.6 KiB
TypeScript
37 lines
1.6 KiB
TypeScript
import { NapProtoMsg } from 'napcat-protobuf';
|
|
import { ReceiveService, ServiceBase } from '../packet/handler/serviceRegister';
|
|
import { GroupReactNotify, PushMsg } from '../packet/transformer/proto';
|
|
|
|
@ReceiveService('trpc.msg.olpush.OlPushService.MsgPush')
|
|
export class OlPushService extends ServiceBase {
|
|
async handler (_seq: number, hex_data: string) {
|
|
const data = new NapProtoMsg(PushMsg).decode(Buffer.from(hex_data, 'hex'));
|
|
if (data.message.contentHead.type === 732 && data.message.contentHead.subType === 16) {
|
|
const pbNotify = data.message.body?.msgContent?.slice(7);
|
|
if (!pbNotify) {
|
|
return;
|
|
}
|
|
// 开始解析Notify
|
|
const notify = new NapProtoMsg(GroupReactNotify).decode(pbNotify);
|
|
if ((notify.field13 ?? 0) === 35) {
|
|
// Group React Notify
|
|
const groupCode = notify.groupUin?.toString() ?? '';
|
|
const operatorUid = notify.groupReactionData?.data?.data?.groupReactionDataContent?.operatorUid ?? '';
|
|
const type = notify.groupReactionData?.data?.data?.groupReactionDataContent?.type ?? 0;
|
|
const seq = notify.groupReactionData?.data?.data?.groupReactionTarget?.seq?.toString() ?? '';
|
|
const code = notify.groupReactionData?.data?.data?.groupReactionDataContent?.code ?? '';
|
|
const count = notify.groupReactionData?.data?.data?.groupReactionDataContent?.count ?? 0;
|
|
const senderUin = await this.core.apis.UserApi.getUinByUidV2(operatorUid);
|
|
this.event.emit('event:emoji_like', {
|
|
groupId: groupCode,
|
|
senderUin,
|
|
emojiId: code,
|
|
msgSeq: seq,
|
|
isAdd: type === 1,
|
|
count,
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|