From 84894a73e1fc60161a30b91c9eb2abb45006d63c Mon Sep 17 00:00:00 2001 From: Fripine <84258717+Fripine@users.noreply.github.com> Date: Wed, 24 Apr 2024 17:32:31 +0800 Subject: [PATCH 1/7] Create OB11FriendAddNoticeEvent.ts --- src/onebot11/event/notice/OB11FriendAddNoticeEvent.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 src/onebot11/event/notice/OB11FriendAddNoticeEvent.ts 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; + } +} From 32213be7a7e0ffa5e231ec1541b7061589fbe26c Mon Sep 17 00:00:00 2001 From: Fripine <84258717+Fripine@users.noreply.github.com> Date: Wed, 24 Apr 2024 17:34:22 +0800 Subject: [PATCH 2/7] add FriendAddEvent --- src/onebot11/constructor.ts | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/onebot11/constructor.ts b/src/onebot11/constructor.ts index 5755f3a7..e10f13a8 100644 --- a/src/onebot11/constructor.ts +++ b/src/onebot11/constructor.ts @@ -446,6 +446,16 @@ export class OB11Constructor { } } + static async FriendAddEvent(msg: RawMessage): Promise { + if (msg.chatType !== ChatType.friend) { + return; + } + if (msg.peerUin&&msg.peerUid) { + const event = new OB11FriendAddNoticeEvent(parseInt(msg.peerUin)); + return event; + } + } + static friend(friend: User): OB11User { return { user_id: parseInt(friend.uin), From 4ff55538044b26e6d2c0e216f23449ab6d956ac0 Mon Sep 17 00:00:00 2001 From: Fripine <84258717+Fripine@users.noreply.github.com> Date: Wed, 24 Apr 2024 17:38:35 +0800 Subject: [PATCH 3/7] construct FriendAddEvent --- src/onebot11/main.ts | 5 +++++ 1 file changed, 5 insertions(+) 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)); } } From 9bed9fe1626ddda25e358950d20b5692561b8f40 Mon Sep 17 00:00:00 2001 From: Fripine <84258717+Fripine@users.noreply.github.com> Date: Wed, 24 Apr 2024 17:47:01 +0800 Subject: [PATCH 4/7] Update constructor.ts --- src/onebot11/constructor.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/onebot11/constructor.ts b/src/onebot11/constructor.ts index e10f13a8..3f795d62 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'; From 35afb12756d8464c35c20622d24ad3cb8e65496a Mon Sep 17 00:00:00 2001 From: Fripine <84258717+Fripine@users.noreply.github.com> Date: Wed, 24 Apr 2024 18:48:03 +0800 Subject: [PATCH 5/7] Update constructor.ts --- src/onebot11/constructor.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/onebot11/constructor.ts b/src/onebot11/constructor.ts index 3f795d62..b00b8909 100644 --- a/src/onebot11/constructor.ts +++ b/src/onebot11/constructor.ts @@ -451,10 +451,10 @@ export class OB11Constructor { if (msg.chatType !== ChatType.friend) { return; } - if (msg.peerUin&&msg.peerUid) { - const event = new OB11FriendAddNoticeEvent(parseInt(msg.peerUin)); - return event; - } + if (msg.peerUin && msg.peerUid) { + const event = new OB11FriendAddNoticeEvent(parseInt(msg.peerUin)); + return event; + } } static friend(friend: User): OB11User { From e709f31b990a0cc45a6d88807b5238fac0f58e1b Mon Sep 17 00:00:00 2001 From: Fripine <84258717+Fripine@users.noreply.github.com> Date: Wed, 24 Apr 2024 19:19:36 +0800 Subject: [PATCH 6/7] Update constructor.ts --- src/onebot11/constructor.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/onebot11/constructor.ts b/src/onebot11/constructor.ts index b00b8909..98f39dbf 100644 --- a/src/onebot11/constructor.ts +++ b/src/onebot11/constructor.ts @@ -455,6 +455,7 @@ export class OB11Constructor { const event = new OB11FriendAddNoticeEvent(parseInt(msg.peerUin)); return event; } + return; } static friend(friend: User): OB11User { From 2db64c69ae9b732edff7b972c4b29f7a077f35cb Mon Sep 17 00:00:00 2001 From: Fripine <84258717+Fripine@users.noreply.github.com> Date: Thu, 25 Apr 2024 00:54:36 +0800 Subject: [PATCH 7/7] Update constructor.ts --- src/onebot11/constructor.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/onebot11/constructor.ts b/src/onebot11/constructor.ts index 98f39dbf..2050587b 100644 --- a/src/onebot11/constructor.ts +++ b/src/onebot11/constructor.ts @@ -451,7 +451,7 @@ export class OB11Constructor { if (msg.chatType !== ChatType.friend) { return; } - if (msg.peerUin && msg.peerUid) { + if (msg.msgType === 5 && msg.subMsgType === 12) { const event = new OB11FriendAddNoticeEvent(parseInt(msg.peerUin)); return event; }