From 0d0b5bf9f6990df0a2218b23629f32b91fd5786d 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 28e76a4f0fd6ed99dca8092320661b1d7d474791 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 1ff4f073c4c54286992e82f2e2a9f807b677c898 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 4477fb92627d2b6be603a1893da4102ed1fb9685 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 b8965f3c35fc1d7709793693f75c68e8d244b1c3 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 067c3a9a57d8e717b7ebc8499b41cb671ac40514 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 e25ef4940af3788e2c795988b26c8e52ae0ed80b 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; }