Compare commits

...

9 Commits

Author SHA1 Message Date
手瓜一十雪
6927b1c94f Merge branch 'main' of https://github.com/NapNeko/NapCatQQ 2025-05-18 20:59:17 +08:00
手瓜一十雪
a09c6acd0d fix 2025-05-18 20:59:11 +08:00
Mlikiowa
0963650ccb release: v4.6.65 2025-05-18 12:58:07 +00:00
手瓜一十雪
380688b353 fix 2025-05-18 20:57:41 +08:00
手瓜一十雪
ad5466bff8 Merge branch 'main' of https://github.com/NapNeko/NapCatQQ 2025-05-18 20:55:13 +08:00
手瓜一十雪
a83652bf3f feat: 更优美的代码 2025-05-18 20:55:11 +08:00
Mlikiowa
c632de314d release: v4.7.64 2025-05-18 12:49:37 +00:00
手瓜一十雪
259c9610d5 Merge pull request #1022 from NapNeko/poke_enhance
fix: #1018
2025-05-18 20:45:08 +08:00
手瓜一十雪
18baf89e0e Merge pull request #1021 from NapNeko/feat-new-context
feat: 隔离context传递 避免高并发干扰一个实例
2025-05-18 19:27:23 +08:00
6 changed files with 13 additions and 27 deletions

View File

@@ -4,7 +4,7 @@
"name": "NapCatQQ", "name": "NapCatQQ",
"slug": "NapCat.Framework", "slug": "NapCat.Framework",
"description": "高性能的 OneBot 11 协议实现", "description": "高性能的 OneBot 11 协议实现",
"version": "4.7.63", "version": "4.6.65",
"icon": "./logo.png", "icon": "./logo.png",
"authors": [ "authors": [
{ {

View File

@@ -2,7 +2,7 @@
"name": "napcat", "name": "napcat",
"private": true, "private": true,
"type": "module", "type": "module",
"version": "4.7.63", "version": "4.6.65",
"scripts": { "scripts": {
"build:universal": "npm run build:webui && vite build --mode universal || exit 1", "build:universal": "npm run build:webui && vite build --mode universal || exit 1",
"build:framework": "npm run build:webui && vite build --mode framework || exit 1", "build:framework": "npm run build:webui && vite build --mode framework || exit 1",

View File

@@ -1 +1 @@
export const napCatVersion = '4.7.63'; export const napCatVersion = '4.6.65';

View File

@@ -30,16 +30,6 @@ export class PacketOperationContext {
return await this.context.client.sendOidbPacket(pkt, rsp); return await this.context.client.sendOidbPacket(pkt, rsp);
} }
async GroupPoke(peer: number, uin: number) {
const req = trans.SendPoke.build(true, peer, uin);
await this.context.client.sendOidbPacket(req);
}
async FriendPoke(peer: number, target?: number) {
const req = trans.SendPoke.build(false, peer, target ?? peer);
await this.context.client.sendOidbPacket(req);
}
async SendPoke(is_group: boolean, peer: number, target?: number) { async SendPoke(is_group: boolean, peer: number, target?: number) {
const req = trans.SendPoke.build(is_group, peer, target ?? peer); const req = trans.SendPoke.build(is_group, peer, target ?? peer);
await this.context.client.sendOidbPacket(req); await this.context.client.sendOidbPacket(req);

View File

@@ -9,19 +9,12 @@ class SendPoke extends PacketTransformer<typeof proto.OidbSvcTrpcTcpBase> {
} }
build(is_group: boolean, peer: number, target: number): OidbPacket { build(is_group: boolean, peer: number, target: number): OidbPacket {
if (is_group) { const payload = {
const data = new NapProtoMsg(proto.OidbSvcTrpcTcp0XED3_1).encode({
uin: target,
groupUin: peer,
ext: 0
});
return OidbBase.build(0xED3, 1, data);
}
const data = new NapProtoMsg(proto.OidbSvcTrpcTcp0XED3_1).encode({
uin: target, uin: target,
friendUin: peer, ext: 0,
ext: 0 ...(is_group ? { groupUin: peer } : { friendUin: peer })
}); };
const data = new NapProtoMsg(proto.OidbSvcTrpcTcp0XED3_1).encode(payload);
return OidbBase.build(0xED3, 1, data); return OidbBase.build(0xED3, 1, data);
} }

View File

@@ -13,12 +13,15 @@ export class SendPokeBase extends GetPacketStatusDepends<Payload, void> {
override payloadSchema = SchemaData; override payloadSchema = SchemaData;
async _handle(payload: Payload) { async _handle(payload: Payload) {
const target_id = payload.target_id ?? payload.user_id; // 这里的 !! 可以传入空字符串 忽略这些数据有利用接口统一接口
const peer_id = payload.group_id ?? payload.user_id; const target_id = !!payload.target_id ? payload.target_id : payload.user_id;
const peer_id = !!payload.group_id ? payload.group_id : payload.user_id;
const is_group = !!payload.group_id; const is_group = !!payload.group_id;
if (!target_id || !peer_id) { if (!target_id || !peer_id) {
throw new Error('请检查参数,缺少 user_id 或 group_id'); throw new Error('请检查参数,缺少 user_id 或 group_id');
} }
await this.core.apis.PacketApi.pkt.operation.SendPoke(is_group, +peer_id, +target_id); await this.core.apis.PacketApi.pkt.operation.SendPoke(is_group, +peer_id, +target_id);
} }
} }