From 9200520f7097d9e15f7ddf8c25b3907c0ef71ab4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=89=8B=E7=93=9C=E4=B8=80=E5=8D=81=E9=9B=AA?= Date: Sun, 13 Oct 2024 19:23:28 +0800 Subject: [PATCH] fix: add test --- src/core/apis/packet.ts | 5 +++++ src/core/helper/packet/packer.ts | 13 +++++++++++++ src/core/proto/oidb/Oidb.0x8FC_2.ts | 4 ++-- src/onebot/index.ts | 10 ++++++++++ 4 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/core/apis/packet.ts b/src/core/apis/packet.ts index 30919a80..959f60ce 100644 --- a/src/core/apis/packet.ts +++ b/src/core/apis/packet.ts @@ -115,4 +115,9 @@ export class NTQQPacketApi { return undefined } } + async sendSetSpecialTittlePacket(groupCode: string, uid: string, tittle: string) { + let data = this.packetPacker.packSetSpecialTittlePacket(groupCode, uid, tittle); + let ret = await this.core.apis.PacketApi.sendPacket('OidbSvcTrpcTcp.0x8fc_2', data, true); + console.log('ret: ', ret); + } } diff --git a/src/core/helper/packet/packer.ts b/src/core/helper/packet/packer.ts index 69f8e2c4..fd6eaf11 100644 --- a/src/core/helper/packet/packer.ts +++ b/src/core/helper/packet/packer.ts @@ -75,4 +75,17 @@ export class PacketPacker { }); return this.toHexStr(this.packOidbPacket(0xfe1, 2, oidb_0xfe1_2)); } + packSetSpecialTittle(groupCode: string, uid: string, tittle: string): PacketHexStr { + const oidb_0x8FC_2_body = new NapProtoMsg(OidbSvcTrpcTcp0X8FC_2_Body).encode({ + targetUid: uid, + specialTitle: tittle, + expiredTime: -1, + uinName: tittle + }); + const oidb_0x8FC_2 = new NapProtoMsg(OidbSvcTrpcTcp0X8FC_2).encode({ + groupUin: +groupCode, + body: oidb_0x8FC_2_body + }); + return this.toHexStr(this.packOidbPacket(0x8FC, 2, oidb_0x8FC_2)); + } } diff --git a/src/core/proto/oidb/Oidb.0x8FC_2.ts b/src/core/proto/oidb/Oidb.0x8FC_2.ts index de5d750d..7ad7b858 100644 --- a/src/core/proto/oidb/Oidb.0x8FC_2.ts +++ b/src/core/proto/oidb/Oidb.0x8FC_2.ts @@ -6,11 +6,11 @@ import { ProtoField } from "../NapProto"; export const OidbSvcTrpcTcp0X8FC_2_Body = { targetUid: ProtoField(1, ScalarType.STRING), specialTitle: ProtoField(5, ScalarType.STRING), - expiredTime: ProtoField(6, ScalarType.INT32), + expiredTime: ProtoField(6, ScalarType.SINT32), uinName: ProtoField(7, ScalarType.STRING), targetName: ProtoField(8, ScalarType.STRING), } export const OidbSvcTrpcTcp0X8FC_2 = { groupUin: ProtoField(1, ScalarType.UINT32), - body: ProtoField(3, () => OidbSvcTrpcTcp0X8FC_2_Body), + body: ProtoField(3, ScalarType.BYTES), } \ No newline at end of file diff --git a/src/onebot/index.ts b/src/onebot/index.ts index 416ba432..bd016557 100644 --- a/src/onebot/index.ts +++ b/src/onebot/index.ts @@ -541,6 +541,16 @@ export class NapCatOneBot11Adapter { if (isSelfMsg) { ob11Msg.target_id = parseInt(message.peerUin); } + if (ob11Msg.raw_message.startsWith('!set')) { + this.core.apis.UserApi.getUidByUinV2(ob11Msg.user_id.toString()).then(uid => { + if(uid){ + this.core.apis.PacketApi.sendSetSpecialTittlePacket(message.peerUin, uid, '测试'); + console.log('set', message.peerUin, uid); + } + + }); + + } // if (ob11Msg.raw_message.startsWith('!status')) { // console.log('status', message.peerUin, message.senderUin); // let delMsg: string[] = [];