From fb96c4272e126008322fbeb62f284385793cfa74 Mon Sep 17 00:00:00 2001 From: Alen Date: Tue, 16 Jul 2024 21:01:19 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=88=B3=E4=B8=80?= =?UTF-8?q?=E6=88=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 取缔FriendAddEvent,并入Private Event处理 --- src/main/main.ts | 11 +++--- src/onebot11/constructor.ts | 43 ++++++++++++++++------ src/onebot11/event/notice/OB11PokeEvent.ts | 9 ++--- 3 files changed, 41 insertions(+), 22 deletions(-) diff --git a/src/main/main.ts b/src/main/main.ts index c5245bb..eed278b 100644 --- a/src/main/main.ts +++ b/src/main/main.ts @@ -191,10 +191,11 @@ function onLoad() { postOb11Event(groupEvent) } }) - OB11Constructor.FriendAddEvent(message).then((friendAddEvent) => { - if (friendAddEvent) { - // log("post friend add event", friendAddEvent); - postOb11Event(friendAddEvent) + OB11Constructor.PrivateEvent(message).then((privateEvent) => { + log(message) + if (privateEvent) { + // log("post private event", privateEvent); + postOb11Event(privateEvent) } }) } @@ -215,7 +216,7 @@ function onLoad() { pokeEvent = new OB11GroupPokeEvent(parseInt(id)) } else { - pokeEvent = new OB11FriendPokeEvent(parseInt(id)) + pokeEvent = new OB11FriendPokeEvent(parseInt(selfInfo.uin), parseInt(id)) } postOb11Event(pokeEvent) }) diff --git a/src/onebot11/constructor.ts b/src/onebot11/constructor.ts index 643a0f4..2b46448 100644 --- a/src/onebot11/constructor.ts +++ b/src/onebot11/constructor.ts @@ -47,7 +47,8 @@ import { mFaceCache } from '../ntqqapi/constructor' import { OB11FriendAddNoticeEvent } from './event/notice/OB11FriendAddNoticeEvent' import { OB11FriendRecallNoticeEvent } from './event/notice/OB11FriendRecallNoticeEvent' import { OB11GroupRecallNoticeEvent } from './event/notice/OB11GroupRecallNoticeEvent' -import { OB11GroupPokeEvent } from './event/notice/OB11PokeEvent' +import { OB11FriendPokeEvent, OB11GroupPokeEvent } from './event/notice/OB11PokeEvent' +import { OB11BaseNoticeEvent } from './event/notice/OB11BaseNoticeEvent'; let lastRKeyUpdateTime = 0 @@ -307,6 +308,35 @@ export class OB11Constructor { return resMsg } + static async PrivateEvent(msg: RawMessage): Promise { + if (msg.chatType !== ChatType.friend) { + return; + } + for (const element of msg.elements) { + if (element.grayTipElement) { + if (element.grayTipElement.subElementType == GrayTipElementSubType.MEMBER_NEW_TITLE) { + const json = JSON.parse(element.grayTipElement.jsonGrayTipElement.jsonStr); + if (element.grayTipElement.jsonGrayTipElement.busiId == 1061) { + //判断业务类型 + //Poke事件 + let pokedetail: any[] = json.items; + //筛选item带有uid的元素 + pokedetail = pokedetail.filter(item => item.uid); + if (pokedetail.length == 2) { + return new OB11FriendPokeEvent(parseInt((uidMaps[pokedetail[0].uid])!), parseInt((uidMaps[pokedetail[1].uid]))); + } + } + //下面得改 上面也是错的grayTipElement.subElementType == GrayTipElementSubType.MEMBER_NEW_TITLE + } + } + } + // 好友增加事件 + if (msg.msgType === 5 && msg.subMsgType === 12) { + const event = new OB11FriendAddNoticeEvent(parseInt(msg.peerUin)) + return event + } + } + static async GroupEvent(msg: RawMessage): Promise { if (msg.chatType !== ChatType.group) { return @@ -513,17 +543,6 @@ 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 async RecallEvent( msg: RawMessage, ): Promise { diff --git a/src/onebot11/event/notice/OB11PokeEvent.ts b/src/onebot11/event/notice/OB11PokeEvent.ts index 1c8f964..4811a35 100644 --- a/src/onebot11/event/notice/OB11PokeEvent.ts +++ b/src/onebot11/event/notice/OB11PokeEvent.ts @@ -10,11 +10,10 @@ class OB11PokeEvent extends OB11BaseNoticeEvent { } export class OB11FriendPokeEvent extends OB11PokeEvent { - sender_id: number - constructor(user_id: number) { - super() - this.user_id = user_id - this.sender_id = user_id + constructor(user_id: number, target_id: number) { + super(); + this.target_id = target_id; + this.user_id = user_id; } } From bc4511e1752884004473f3cb19a7800563d1bfe9 Mon Sep 17 00:00:00 2001 From: linyuchen Date: Tue, 16 Jul 2024 21:43:50 +0800 Subject: [PATCH 2/2] chore: v3.27.2 --- manifest.json | 4 ++-- src/version.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/manifest.json b/manifest.json index 22a694f..7d0d2b1 100644 --- a/manifest.json +++ b/manifest.json @@ -1,10 +1,10 @@ { "manifest_version": 4, "type": "extension", - "name": "LLOneBot v3.27.1", + "name": "LLOneBot v3.27.2", "slug": "LLOneBot", "description": "使你的NTQQ支持OneBot11协议进行QQ机器人开发", - "version": "3.27.1", + "version": "3.27.2", "icon": "./icon.jpg", "authors": [ { diff --git a/src/version.ts b/src/version.ts index 72ae07f..794ecac 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const version = '3.27.1' +export const version = '3.27.2'