diff --git a/src/onebot11/constructor.ts b/src/onebot11/constructor.ts index 1754b997..119dd7bf 100644 --- a/src/onebot11/constructor.ts +++ b/src/onebot11/constructor.ts @@ -30,6 +30,7 @@ import { OB11GroupIncreaseEvent } from './event/notice/OB11GroupIncreaseEvent'; import { OB11GroupBanEvent } from './event/notice/OB11GroupBanEvent'; import { OB11GroupUploadNoticeEvent } from './event/notice/OB11GroupUploadNoticeEvent'; import { OB11GroupNoticeEvent } from './event/notice/OB11GroupNoticeEvent'; +import { OB11FriendAddNoticeEvent } from './event/notice/OB11FriendAddNoticeEvent'; import { calcQQLevel } from '../common/utils/qqlevel'; import { log } from '../common/utils/log'; @@ -371,6 +372,17 @@ export class OB11Constructor { } } + static async FriendAddEvent(msg: RawMessage): Promise { + if (msg.chatType !== ChatType.friend) { + return; + } + if (msg.msgType === 5 && msg.subMsgType === 12) { + const event = new OB11FriendAddNoticeEvent(parseInt(msg.peerUin)); + return event; + } + return; + } + static friend(friend: User): OB11User { return { user_id: parseInt(friend.uin), diff --git a/src/onebot11/event/notice/OB11FriendAddNoticeEvent.ts b/src/onebot11/event/notice/OB11FriendAddNoticeEvent.ts new file mode 100644 index 00000000..50fd877b --- /dev/null +++ b/src/onebot11/event/notice/OB11FriendAddNoticeEvent.ts @@ -0,0 +1,11 @@ +import { OB11BaseNoticeEvent } from './OB11BaseNoticeEvent'; + +export class OB11FriendAddNoticeEvent extends OB11BaseNoticeEvent { + notice_type = 'friend_add'; + user_id: number; + + public constructor(user_Id: number) { + super(); + this.user_id = user_Id; + } +} diff --git a/src/onebot11/main.ts b/src/onebot11/main.ts index cc07bb88..cc01124a 100644 --- a/src/onebot11/main.ts +++ b/src/onebot11/main.ts @@ -154,6 +154,11 @@ export class NapCatOnebot11 { postOB11Event(groupEvent); } }).catch(e => log('constructGroupEvent error: ', e)); + OB11Constructor.FriendAddEvent(message).then(friendAddEvent=>{ + if(friendAddEvent){ + postOB11Event(friendAddEvent) + } + }).catch(e => log('constructFriendAddEvent error: ', e)); } }