mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2025-07-19 12:03:37 +00:00
refactor: make methods in event.ts instance methods
This commit is contained in:
@@ -1,4 +1,11 @@
|
|||||||
import { ChatType, GrayTipElement, NapCatCore } from '@/core';
|
import {
|
||||||
|
ChatType,
|
||||||
|
GrayTipElement,
|
||||||
|
NapCatCore,
|
||||||
|
NTGrayTipElementSubTypeV2,
|
||||||
|
RawMessage,
|
||||||
|
TipGroupElementType,
|
||||||
|
} from '@/core';
|
||||||
import { NapCatOneBot11Adapter } from '@/onebot';
|
import { NapCatOneBot11Adapter } from '@/onebot';
|
||||||
import { OB11GroupBanEvent } from '../event/notice/OB11GroupBanEvent';
|
import { OB11GroupBanEvent } from '../event/notice/OB11GroupBanEvent';
|
||||||
import { OB11GroupIncreaseEvent } from '../event/notice/OB11GroupIncreaseEvent';
|
import { OB11GroupIncreaseEvent } from '../event/notice/OB11GroupIncreaseEvent';
|
||||||
@@ -6,6 +13,11 @@ import { OB11GroupDecreaseEvent } from '../event/notice/OB11GroupDecreaseEvent';
|
|||||||
import fastXmlParser from 'fast-xml-parser';
|
import fastXmlParser from 'fast-xml-parser';
|
||||||
import { OB11GroupMsgEmojiLikeEvent } from '../event/notice/OB11MsgEmojiLikeEvent';
|
import { OB11GroupMsgEmojiLikeEvent } from '../event/notice/OB11MsgEmojiLikeEvent';
|
||||||
import { MessageUnique } from '@/common/message-unique';
|
import { MessageUnique } from '@/common/message-unique';
|
||||||
|
import { OB11GroupCardEvent } from '@/onebot/event/notice/OB11GroupCardEvent';
|
||||||
|
import { OB11GroupUploadNoticeEvent } from '@/onebot/event/notice/OB11GroupUploadNoticeEvent';
|
||||||
|
import { OB11GroupPokeEvent } from '@/onebot/event/notice/OB11PokeEvent';
|
||||||
|
import { OB11GroupEssenceEvent } from '@/onebot/event/notice/OB11GroupEssenceEvent';
|
||||||
|
import { OB11GroupTitleEvent } from '@/onebot/event/notice/OB11GroupTitleEvent';
|
||||||
|
|
||||||
export class OneBotGroupApi {
|
export class OneBotGroupApi {
|
||||||
obContext: NapCatOneBot11Adapter;
|
obContext: NapCatOneBot11Adapter;
|
||||||
@@ -16,6 +28,126 @@ export class OneBotGroupApi {
|
|||||||
this.core = core;
|
this.core = core;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async parseGroupEvent(msg: RawMessage) {
|
||||||
|
const NTQQGroupApi = this.core.apis.GroupApi;
|
||||||
|
const NTQQUserApi = this.core.apis.UserApi;
|
||||||
|
const NTQQMsgApi = this.core.apis.MsgApi;
|
||||||
|
const logger = this.core.context.logger;
|
||||||
|
if (msg.chatType !== ChatType.KCHATTYPEGROUP) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//log("group msg", msg);
|
||||||
|
if (msg.senderUin && msg.senderUin !== '0') {
|
||||||
|
const member = await NTQQGroupApi.getGroupMember(msg.peerUid, msg.senderUin);
|
||||||
|
if (member && member.cardName !== msg.sendMemberName) {
|
||||||
|
const newCardName = msg.sendMemberName || '';
|
||||||
|
const event = new OB11GroupCardEvent(this.core, parseInt(msg.peerUid), parseInt(msg.senderUin), newCardName, member.cardName);
|
||||||
|
member.cardName = newCardName;
|
||||||
|
return event;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const element of msg.elements) {
|
||||||
|
if (element.grayTipElement && element.grayTipElement.groupElement) {
|
||||||
|
const groupElement = element.grayTipElement.groupElement;
|
||||||
|
if (groupElement.type == TipGroupElementType.memberIncrease) {
|
||||||
|
const MemberIncreaseEvent = await this.obContext.apis.GroupApi.parseGroupMemberIncreaseEvent(msg.peerUid, element.grayTipElement);
|
||||||
|
if (MemberIncreaseEvent) return MemberIncreaseEvent;
|
||||||
|
} else if (groupElement.type === TipGroupElementType.ban) {
|
||||||
|
const BanEvent = await this.obContext.apis.GroupApi.parseGroupBanEvent(msg.peerUid, element.grayTipElement);
|
||||||
|
if (BanEvent) return BanEvent;
|
||||||
|
} else if (groupElement.type == TipGroupElementType.kicked) {
|
||||||
|
NTQQGroupApi.quitGroup(msg.peerUid).then();
|
||||||
|
try {
|
||||||
|
const KickEvent = await this.obContext.apis.GroupApi.parseGroupKickEvent(msg.peerUid, element.grayTipElement);
|
||||||
|
if (KickEvent) return KickEvent;
|
||||||
|
} catch (e) {
|
||||||
|
return new OB11GroupDecreaseEvent(
|
||||||
|
this.core,
|
||||||
|
parseInt(msg.peerUid),
|
||||||
|
parseInt(this.core.selfInfo.uin),
|
||||||
|
0,
|
||||||
|
'leave',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (element.fileElement) {
|
||||||
|
return new OB11GroupUploadNoticeEvent(
|
||||||
|
this.core,
|
||||||
|
parseInt(msg.peerUid), parseInt(msg.senderUin || ''),
|
||||||
|
{
|
||||||
|
id: element.fileElement.fileUuid!,
|
||||||
|
name: element.fileElement.fileName,
|
||||||
|
size: parseInt(element.fileElement.fileSize),
|
||||||
|
busid: element.fileElement.fileBizId || 0,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (element.grayTipElement) {
|
||||||
|
if (element.grayTipElement.xmlElement?.templId === '10382') {
|
||||||
|
const emojiLikeEvent = await this.obContext.apis.GroupApi.parseGroupEmojiLikeEventByGrayTip(msg.peerUid, element.grayTipElement);
|
||||||
|
if (emojiLikeEvent) return emojiLikeEvent;
|
||||||
|
}
|
||||||
|
if (element.grayTipElement.subElementType == NTGrayTipElementSubTypeV2.GRAYTIP_ELEMENT_SUBTYPE_XMLMSG) {
|
||||||
|
const GroupIncreaseEvent = await this.obContext.apis.GroupApi.parseGroupIncreaseEvent(msg.peerUid, element.grayTipElement);
|
||||||
|
if (GroupIncreaseEvent) return GroupIncreaseEvent;
|
||||||
|
}
|
||||||
|
|
||||||
|
//代码歧义 GrayTipElementSubType.MEMBER_NEW_TITLE
|
||||||
|
else if (element.grayTipElement.subElementType == NTGrayTipElementSubTypeV2.GRAYTIP_ELEMENT_SUBTYPE_JSON) {
|
||||||
|
const json = JSON.parse(element.grayTipElement.jsonGrayTipElement.jsonStr);
|
||||||
|
if (element.grayTipElement.jsonGrayTipElement.busiId == 1061) {
|
||||||
|
//判断业务类型
|
||||||
|
//Poke事件
|
||||||
|
const pokedetail: any[] = json.items;
|
||||||
|
//筛选item带有uid的元素
|
||||||
|
const poke_uid = pokedetail.filter(item => item.uid);
|
||||||
|
if (poke_uid.length == 2) {
|
||||||
|
return new OB11GroupPokeEvent(
|
||||||
|
this.core,
|
||||||
|
parseInt(msg.peerUid),
|
||||||
|
parseInt((await NTQQUserApi.getUinByUidV2(poke_uid[0].uid))!),
|
||||||
|
parseInt((await NTQQUserApi.getUinByUidV2(poke_uid[1].uid))!),
|
||||||
|
pokedetail,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (element.grayTipElement.jsonGrayTipElement.busiId == 2401) {
|
||||||
|
const searchParams = new URL(json.items[0].jp).searchParams;
|
||||||
|
const msgSeq = searchParams.get('msgSeq')!;
|
||||||
|
const Group = searchParams.get('groupCode');
|
||||||
|
// const businessId = searchParams.get('businessid');
|
||||||
|
const Peer = {
|
||||||
|
guildId: '',
|
||||||
|
chatType: ChatType.KCHATTYPEGROUP,
|
||||||
|
peerUid: Group!,
|
||||||
|
};
|
||||||
|
const msgData = await NTQQMsgApi.getMsgsBySeqAndCount(Peer, msgSeq.toString(), 1, true, true);
|
||||||
|
return new OB11GroupEssenceEvent(
|
||||||
|
this.core,
|
||||||
|
parseInt(msg.peerUid),
|
||||||
|
MessageUnique.getShortIdByMsgId(msgData.msgList[0].msgId)!,
|
||||||
|
parseInt(msgData.msgList[0].senderUin),
|
||||||
|
);
|
||||||
|
// 获取MsgSeq+Peer可获取具体消息
|
||||||
|
}
|
||||||
|
if (element.grayTipElement.jsonGrayTipElement.busiId == 2407) {
|
||||||
|
//下面得改 上面也是错的grayTipElement.subElementType == GrayTipElementSubType.MEMBER_NEW_TITLE
|
||||||
|
const memberUin = json.items[1].param[0];
|
||||||
|
const title = json.items[3].txt;
|
||||||
|
logger.logDebug('收到群成员新头衔消息', json);
|
||||||
|
return new OB11GroupTitleEvent(
|
||||||
|
this.core,
|
||||||
|
parseInt(msg.peerUid),
|
||||||
|
parseInt(memberUin),
|
||||||
|
title,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
async parseGroupBanEvent(GroupCode: string, grayTipElement: GrayTipElement) {
|
async parseGroupBanEvent(GroupCode: string, grayTipElement: GrayTipElement) {
|
||||||
const groupElement = grayTipElement?.groupElement;
|
const groupElement = grayTipElement?.groupElement;
|
||||||
const NTQQGroupApi = this.core.apis.GroupApi;
|
const NTQQGroupApi = this.core.apis.GroupApi;
|
||||||
|
@@ -9,7 +9,7 @@ import {
|
|||||||
FaceType,
|
FaceType,
|
||||||
IdMusicSignPostData,
|
IdMusicSignPostData,
|
||||||
MessageElement,
|
MessageElement,
|
||||||
NapCatCore,
|
NapCatCore, NTGrayTipElementSubTypeV2,
|
||||||
Peer,
|
Peer,
|
||||||
RawMessage,
|
RawMessage,
|
||||||
SendMessageElement,
|
SendMessageElement,
|
||||||
@@ -31,6 +31,7 @@ import { uri2local } from '@/common/file';
|
|||||||
import { RequestUtil } from '@/common/request';
|
import { RequestUtil } from '@/common/request';
|
||||||
import fs from 'node:fs';
|
import fs from 'node:fs';
|
||||||
import fsPromise from 'node:fs/promises';
|
import fsPromise from 'node:fs/promises';
|
||||||
|
import { OB11FriendAddNoticeEvent } from '@/onebot/event/notice/OB11FriendAddNoticeEvent';
|
||||||
|
|
||||||
type RawToOb11Converters = {
|
type RawToOb11Converters = {
|
||||||
[Key in keyof MessageElement as Key extends `${string}Element` ? Key : never]: (
|
[Key in keyof MessageElement as Key extends `${string}Element` ? Key : never]: (
|
||||||
@@ -656,6 +657,28 @@ export class OneBotMsgApi {
|
|||||||
this.core = core;
|
this.core = core;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async parsePrivateMsgEvent(msg: RawMessage) {
|
||||||
|
if (msg.chatType !== ChatType.KCHATTYPEC2C) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (const element of msg.elements) {
|
||||||
|
if (element.grayTipElement) {
|
||||||
|
if (element.grayTipElement.subElementType == NTGrayTipElementSubTypeV2.GRAYTIP_ELEMENT_SUBTYPE_JSON) {
|
||||||
|
if (element.grayTipElement.jsonGrayTipElement.busiId == 1061) {
|
||||||
|
const PokeEvent = await this.obContext.apis.FriendApi.parsePrivatePokeEvent(element.grayTipElement);
|
||||||
|
if (PokeEvent) return PokeEvent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (element.grayTipElement.subElementType == NTGrayTipElementSubTypeV2.GRAYTIP_ELEMENT_SUBTYPE_XMLMSG) {
|
||||||
|
//好友添加成功事件
|
||||||
|
if (element.grayTipElement.xmlElement.templId === '10229' && msg.peerUin !== '') {
|
||||||
|
return new OB11FriendAddNoticeEvent(this.core, parseInt(msg.peerUin));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
async parseMessage(
|
async parseMessage(
|
||||||
msg: RawMessage,
|
msg: RawMessage,
|
||||||
messagePostFormat: string = this.obContext.configLoader.configData.messagePostFormat,
|
messagePostFormat: string = this.obContext.configLoader.configData.messagePostFormat,
|
||||||
|
@@ -1,154 +0,0 @@
|
|||||||
import { NapCatOneBot11Adapter } from '..';
|
|
||||||
import { OB11BaseNoticeEvent } from '../event/notice/OB11BaseNoticeEvent';
|
|
||||||
import { OB11FriendAddNoticeEvent } from '../event/notice/OB11FriendAddNoticeEvent';
|
|
||||||
import { OB11GroupNoticeEvent } from '../event/notice/OB11GroupNoticeEvent';
|
|
||||||
import { OB11GroupCardEvent } from '../event/notice/OB11GroupCardEvent';
|
|
||||||
import { OB11GroupDecreaseEvent } from '../event/notice/OB11GroupDecreaseEvent';
|
|
||||||
import { OB11GroupUploadNoticeEvent } from '../event/notice/OB11GroupUploadNoticeEvent';
|
|
||||||
import { OB11GroupPokeEvent } from '../event/notice/OB11PokeEvent';
|
|
||||||
import { OB11GroupEssenceEvent } from '../event/notice/OB11GroupEssenceEvent';
|
|
||||||
import { MessageUnique } from '@/common/message-unique';
|
|
||||||
import { OB11GroupTitleEvent } from '../event/notice/OB11GroupTitleEvent';
|
|
||||||
import { ChatType, NapCatCore, NTGrayTipElementSubTypeV2, Peer, RawMessage, TipGroupElementType } from '@/core';
|
|
||||||
|
|
||||||
export async function NT2PrivateEvent(core: NapCatCore, obContext: NapCatOneBot11Adapter, msg: RawMessage): Promise<OB11BaseNoticeEvent | undefined> {
|
|
||||||
if (msg.chatType !== ChatType.KCHATTYPEC2C) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
for (const element of msg.elements) {
|
|
||||||
if (element.grayTipElement) {
|
|
||||||
if (element.grayTipElement.subElementType == NTGrayTipElementSubTypeV2.GRAYTIP_ELEMENT_SUBTYPE_JSON) {
|
|
||||||
if (element.grayTipElement.jsonGrayTipElement.busiId == 1061) {
|
|
||||||
const PokeEvent = await obContext.apis.FriendApi.parsePrivatePokeEvent(element.grayTipElement);
|
|
||||||
if (PokeEvent) return PokeEvent;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (element.grayTipElement.subElementType == NTGrayTipElementSubTypeV2.GRAYTIP_ELEMENT_SUBTYPE_XMLMSG) {
|
|
||||||
//好友添加成功事件
|
|
||||||
if (element.grayTipElement.xmlElement.templId === '10229' && msg.peerUin !== '') {
|
|
||||||
return new OB11FriendAddNoticeEvent(core, parseInt(msg.peerUin));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function NT2GroupEvent(core: NapCatCore, obContext: NapCatOneBot11Adapter, msg: RawMessage): Promise<OB11GroupNoticeEvent | undefined> {
|
|
||||||
const NTQQGroupApi = core.apis.GroupApi;
|
|
||||||
const NTQQUserApi = core.apis.UserApi;
|
|
||||||
const NTQQMsgApi = core.apis.MsgApi;
|
|
||||||
const logger = core.context.logger;
|
|
||||||
if (msg.chatType !== ChatType.KCHATTYPEGROUP) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
//log("group msg", msg);
|
|
||||||
if (msg.senderUin && msg.senderUin !== '0') {
|
|
||||||
const member = await NTQQGroupApi.getGroupMember(msg.peerUid, msg.senderUin);
|
|
||||||
if (member && member.cardName !== msg.sendMemberName) {
|
|
||||||
const newCardName = msg.sendMemberName || '';
|
|
||||||
const event = new OB11GroupCardEvent(core, parseInt(msg.peerUid), parseInt(msg.senderUin), newCardName, member.cardName);
|
|
||||||
member.cardName = newCardName;
|
|
||||||
return event;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
for (const element of msg.elements) {
|
|
||||||
if (element.grayTipElement && element.grayTipElement.groupElement) {
|
|
||||||
const groupElement = element.grayTipElement.groupElement;
|
|
||||||
if (groupElement.type == TipGroupElementType.memberIncrease) {
|
|
||||||
const MemberIncreaseEvent = await obContext.apis.GroupApi.parseGroupMemberIncreaseEvent(msg.peerUid, element.grayTipElement);
|
|
||||||
if (MemberIncreaseEvent) return MemberIncreaseEvent;
|
|
||||||
} else if (groupElement.type === TipGroupElementType.ban) {
|
|
||||||
const BanEvent = await obContext.apis.GroupApi.parseGroupBanEvent(msg.peerUid, element.grayTipElement);
|
|
||||||
if (BanEvent) return BanEvent;
|
|
||||||
} else if (groupElement.type == TipGroupElementType.kicked) {
|
|
||||||
NTQQGroupApi.quitGroup(msg.peerUid).then();
|
|
||||||
try {
|
|
||||||
const KickEvent = await obContext.apis.GroupApi.parseGroupKickEvent(msg.peerUid, element.grayTipElement);
|
|
||||||
if (KickEvent) return KickEvent;
|
|
||||||
} catch (e) {
|
|
||||||
return new OB11GroupDecreaseEvent(
|
|
||||||
core,
|
|
||||||
parseInt(msg.peerUid),
|
|
||||||
parseInt(core.selfInfo.uin),
|
|
||||||
0,
|
|
||||||
'leave',
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if (element.fileElement) {
|
|
||||||
return new OB11GroupUploadNoticeEvent(
|
|
||||||
core,
|
|
||||||
parseInt(msg.peerUid), parseInt(msg.senderUin || ''),
|
|
||||||
{
|
|
||||||
id: element.fileElement.fileUuid!,
|
|
||||||
name: element.fileElement.fileName,
|
|
||||||
size: parseInt(element.fileElement.fileSize),
|
|
||||||
busid: element.fileElement.fileBizId || 0,
|
|
||||||
},
|
|
||||||
);
|
|
||||||
}
|
|
||||||
if (element.grayTipElement) {
|
|
||||||
if (element.grayTipElement.xmlElement?.templId === '10382') {
|
|
||||||
const emojiLikeEvent = await obContext.apis.GroupApi.parseGroupEmojiLikeEventByGrayTip(msg.peerUid, element.grayTipElement);
|
|
||||||
if (emojiLikeEvent) return emojiLikeEvent;
|
|
||||||
}
|
|
||||||
if (element.grayTipElement.subElementType == NTGrayTipElementSubTypeV2.GRAYTIP_ELEMENT_SUBTYPE_XMLMSG) {
|
|
||||||
const GroupIncreaseEvent = await obContext.apis.GroupApi.parseGroupIncreaseEvent(msg.peerUid, element.grayTipElement);
|
|
||||||
if (GroupIncreaseEvent) return GroupIncreaseEvent;
|
|
||||||
}
|
|
||||||
|
|
||||||
//代码歧义 GrayTipElementSubType.MEMBER_NEW_TITLE
|
|
||||||
else if (element.grayTipElement.subElementType == NTGrayTipElementSubTypeV2.GRAYTIP_ELEMENT_SUBTYPE_JSON) {
|
|
||||||
const json = JSON.parse(element.grayTipElement.jsonGrayTipElement.jsonStr);
|
|
||||||
if (element.grayTipElement.jsonGrayTipElement.busiId == 1061) {
|
|
||||||
//判断业务类型
|
|
||||||
//Poke事件
|
|
||||||
const pokedetail: any[] = json.items;
|
|
||||||
//筛选item带有uid的元素
|
|
||||||
const poke_uid = pokedetail.filter(item => item.uid);
|
|
||||||
if (poke_uid.length == 2) {
|
|
||||||
return new OB11GroupPokeEvent(
|
|
||||||
core,
|
|
||||||
parseInt(msg.peerUid),
|
|
||||||
parseInt((await NTQQUserApi.getUinByUidV2(poke_uid[0].uid))!),
|
|
||||||
parseInt((await NTQQUserApi.getUinByUidV2(poke_uid[1].uid))!),
|
|
||||||
pokedetail,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (element.grayTipElement.jsonGrayTipElement.busiId == 2401) {
|
|
||||||
const searchParams = new URL(json.items[0].jp).searchParams;
|
|
||||||
const msgSeq = searchParams.get('msgSeq')!;
|
|
||||||
const Group = searchParams.get('groupCode');
|
|
||||||
// const businessId = searchParams.get('businessid');
|
|
||||||
const Peer: Peer = {
|
|
||||||
guildId: '',
|
|
||||||
chatType: ChatType.KCHATTYPEGROUP,
|
|
||||||
peerUid: Group!,
|
|
||||||
};
|
|
||||||
const msgData = await NTQQMsgApi.getMsgsBySeqAndCount(Peer, msgSeq.toString(), 1, true, true);
|
|
||||||
return new OB11GroupEssenceEvent(
|
|
||||||
core,
|
|
||||||
parseInt(msg.peerUid),
|
|
||||||
MessageUnique.getShortIdByMsgId(msgData.msgList[0].msgId)!,
|
|
||||||
parseInt(msgData.msgList[0].senderUin),
|
|
||||||
);
|
|
||||||
// 获取MsgSeq+Peer可获取具体消息
|
|
||||||
}
|
|
||||||
if (element.grayTipElement.jsonGrayTipElement.busiId == 2407) {
|
|
||||||
//下面得改 上面也是错的grayTipElement.subElementType == GrayTipElementSubType.MEMBER_NEW_TITLE
|
|
||||||
const memberUin = json.items[1].param[0];
|
|
||||||
const title = json.items[3].txt;
|
|
||||||
logger.logDebug('收到群成员新头衔消息', json);
|
|
||||||
return new OB11GroupTitleEvent(
|
|
||||||
core,
|
|
||||||
parseInt(msg.peerUid),
|
|
||||||
parseInt(memberUin),
|
|
||||||
title,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,3 +1,2 @@
|
|||||||
export * from './config';
|
export * from './config';
|
||||||
export * from './entities';
|
export * from './entities';
|
||||||
export * from './event';
|
|
||||||
|
@@ -42,7 +42,6 @@ import { OB11GroupRequestEvent } from '@/onebot/event/request/OB11GroupRequest';
|
|||||||
import { OB11FriendRecallNoticeEvent } from '@/onebot/event/notice/OB11FriendRecallNoticeEvent';
|
import { OB11FriendRecallNoticeEvent } from '@/onebot/event/notice/OB11FriendRecallNoticeEvent';
|
||||||
import { OB11GroupRecallNoticeEvent } from '@/onebot/event/notice/OB11GroupRecallNoticeEvent';
|
import { OB11GroupRecallNoticeEvent } from '@/onebot/event/notice/OB11GroupRecallNoticeEvent';
|
||||||
import { LRUCache } from '@/common/lru-cache';
|
import { LRUCache } from '@/common/lru-cache';
|
||||||
import { NT2GroupEvent, NT2PrivateEvent } from './helper';
|
|
||||||
import { NodeIKernelRecentContactListener } from '@/core/listeners/NodeIKernelRecentContactListener';
|
import { NodeIKernelRecentContactListener } from '@/core/listeners/NodeIKernelRecentContactListener';
|
||||||
import { SysMessage } from '@/core/proto/SysMessage';
|
import { SysMessage } from '@/core/proto/SysMessage';
|
||||||
import { GreyTipWrapper } from '@/core/proto/GreyTipWrapper';
|
import { GreyTipWrapper } from '@/core/proto/GreyTipWrapper';
|
||||||
@@ -527,14 +526,14 @@ export class NapCatOneBot11Adapter {
|
|||||||
this.networkManager.emitEvent(ob11Msg);
|
this.networkManager.emitEvent(ob11Msg);
|
||||||
}).catch(e => this.context.logger.logError('constructMessage error: ', e));
|
}).catch(e => this.context.logger.logError('constructMessage error: ', e));
|
||||||
|
|
||||||
NT2GroupEvent(this.core, this, message).then(groupEvent => {
|
this.apis.GroupApi.parseGroupEvent(message).then(groupEvent => {
|
||||||
if (groupEvent) {
|
if (groupEvent) {
|
||||||
// log("post group event", groupEvent);
|
// log("post group event", groupEvent);
|
||||||
this.networkManager.emitEvent(groupEvent);
|
this.networkManager.emitEvent(groupEvent);
|
||||||
}
|
}
|
||||||
}).catch(e => this.context.logger.logError('constructGroupEvent error: ', e));
|
}).catch(e => this.context.logger.logError('constructGroupEvent error: ', e));
|
||||||
|
|
||||||
NT2PrivateEvent(this.core, this, message).then(privateEvent => {
|
this.apis.MsgApi.parsePrivateMsgEvent(message).then(privateEvent => {
|
||||||
if (privateEvent) {
|
if (privateEvent) {
|
||||||
// log("post private event", privateEvent);
|
// log("post private event", privateEvent);
|
||||||
this.networkManager.emitEvent(privateEvent);
|
this.networkManager.emitEvent(privateEvent);
|
||||||
|
Reference in New Issue
Block a user