@zhin.js/adapter-qq 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/lib/index.d.ts +3 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +26 -5
- package/lib/index.js.map +1 -1
- package/package.json +3 -3
- package/src/index.ts +25 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @zhin.js/adapter-qq
|
|
2
2
|
|
|
3
|
+
## 1.0.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- zhin.js@1.0.4
|
|
8
|
+
|
|
9
|
+
## 1.0.3
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- 89bc676: fix: 类型反射优化
|
|
14
|
+
- Updated dependencies [89bc676]
|
|
15
|
+
- @zhin.js/types@1.0.2
|
|
16
|
+
- zhin.js@1.0.3
|
|
17
|
+
|
|
3
18
|
## 1.0.2
|
|
4
19
|
|
|
5
20
|
### Patch Changes
|
package/lib/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { Bot, PrivateMessageEvent, GroupMessageEvent, ReceiverMode, ApplicationP
|
|
|
2
2
|
export { ReceiverMode, } from 'qq-official-bot';
|
|
3
3
|
export type { ApplicationPlatform, Intent, } from 'qq-official-bot';
|
|
4
4
|
import { Bot as ZhinBot, BotConfig, Adapter, Plugin, Message, SendOptions } from "zhin.js";
|
|
5
|
-
declare module 'zhin.js' {
|
|
5
|
+
declare module '@zhin.js/types' {
|
|
6
6
|
interface RegisteredAdapters {
|
|
7
7
|
qq: Adapter<QQBot<ReceiverMode>>;
|
|
8
8
|
}
|
|
@@ -22,6 +22,7 @@ export declare class QQBot<T extends ReceiverMode, M extends ApplicationPlatform
|
|
|
22
22
|
$connect(): Promise<void>;
|
|
23
23
|
$disconnect(): Promise<void>;
|
|
24
24
|
$formatMessage(msg: PrivateMessageEvent | GroupMessageEvent): Message<PrivateMessageEvent | GroupMessageEvent>;
|
|
25
|
-
$sendMessage(options: SendOptions): Promise<
|
|
25
|
+
$sendMessage(options: SendOptions): Promise<string>;
|
|
26
|
+
$recallMessage(id: string): Promise<void>;
|
|
26
27
|
}
|
|
27
28
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,GAAG,EACH,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EAAE,mBAAmB,EACpC,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACH,YAAY,GACf,MAAM,iBAAiB,CAAA;AACxB,YAAY,EACR,mBAAmB,EACnB,MAAM,GACT,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACH,GAAG,IAAI,OAAO,EACd,SAAS,EACT,OAAO,EACP,MAAM,EAEN,OAAO,EACP,WAAW,EAGd,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,GAAG,EACH,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EAAE,mBAAmB,EACpC,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACH,YAAY,GACf,MAAM,iBAAiB,CAAA;AACxB,YAAY,EACR,mBAAmB,EACnB,MAAM,GACT,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACH,GAAG,IAAI,OAAO,EACd,SAAS,EACT,OAAO,EACP,MAAM,EAEN,OAAO,EACP,WAAW,EAGd,MAAM,SAAS,CAAC;AAEjB,OAAO,QAAQ,gBAAgB,CAAA;IAC3B,UAAU,kBAAkB;QACxB,EAAE,EAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAA;KAClC;CACJ;AACD,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,IAAI,SAAS,GAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,CAAC,GAAE;IAC/H,OAAO,EAAC,IAAI,CAAA;IACZ,IAAI,EAAC,GAAG,MAAM,EAAE,CAAA;CACnB,CAAA;AACD,MAAM,WAAW,KAAK,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,mBAAmB,GAAG,mBAAmB;IAC9F,OAAO,EAAC,WAAW,CAAC,CAAC,EAAC,CAAC,CAAC,CAAA;CAC3B;AACD,qBAAa,KAAK,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,mBAAmB,GAAG,mBAAmB,CAAE,SAAQ,GAAI,YAAW,OAAO,CAAC,mBAAmB,GAAC,iBAAiB,EAAC,WAAW,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;IAEtK,OAAO,CAAC,MAAM;IAD1B,UAAU,CAAC,EAAC,OAAO,CAAA;gBACC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,WAAW,CAAC,CAAC,EAAC,CAAC,CAAC;IAKzD,OAAO,CAAC,eAAe;IAMjB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAQzB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlC,cAAc,CAAC,GAAG,EAAC,mBAAmB,GAAC,iBAAiB;IAkClD,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAoCnD,cAAc,CAAC,EAAE,EAAC,MAAM,GAAE,OAAO,CAAC,IAAI,CAAC;CAShD"}
|
package/lib/index.js
CHANGED
|
@@ -57,7 +57,7 @@ export class QQBot extends Bot {
|
|
|
57
57
|
content = [content];
|
|
58
58
|
if (quote)
|
|
59
59
|
content.unshift({ type: 'reply', data: { id: typeof quote === "boolean" ? result.$id : quote } });
|
|
60
|
-
this
|
|
60
|
+
return await this.$sendMessage({
|
|
61
61
|
...result.$channel,
|
|
62
62
|
context: 'qq',
|
|
63
63
|
bot: this.$config.name,
|
|
@@ -73,29 +73,50 @@ export class QQBot extends Bot {
|
|
|
73
73
|
case 'private': {
|
|
74
74
|
if (options.id.startsWith('direct:')) {
|
|
75
75
|
const id = options.id.replace('direct:', '');
|
|
76
|
-
await this.sendDirectMessage(id, options.content);
|
|
76
|
+
const result = await this.sendDirectMessage(id, options.content);
|
|
77
77
|
this.plugin.logger.info(`send ${options.type}(${options.id}):${segment.raw(options.content)}`);
|
|
78
|
+
this.plugin.logger.info(`send ${options.type}(${options.id}):${segment.raw(options.content)}`);
|
|
79
|
+
return `direct-${options.id}:${result.message_id.toString()}`;
|
|
78
80
|
}
|
|
79
81
|
else {
|
|
80
|
-
await this.sendPrivateMessage(options.id, options.content);
|
|
82
|
+
const result = await this.sendPrivateMessage(options.id, options.content);
|
|
83
|
+
this.plugin.logger.info(`send ${options.type}(${options.id}):${segment.raw(options.content)}`);
|
|
81
84
|
this.plugin.logger.info(`send ${options.type}(${options.id}):${segment.raw(options.content)}`);
|
|
85
|
+
return `private-${options.id}:${result.message_id.toString()}`;
|
|
82
86
|
}
|
|
83
87
|
break;
|
|
84
88
|
}
|
|
85
89
|
case "group": {
|
|
86
|
-
await this.sendGroupMessage(options.id, options.content);
|
|
90
|
+
const result = await this.sendGroupMessage(options.id, options.content);
|
|
91
|
+
this.plugin.logger.info(`send ${options.type}(${options.id}):${segment.raw(options.content)}`);
|
|
87
92
|
this.plugin.logger.info(`send ${options.type}(${options.id}):${segment.raw(options.content)}`);
|
|
93
|
+
return `group-${options.id}:${result.message_id.toString()}`;
|
|
88
94
|
break;
|
|
89
95
|
}
|
|
90
96
|
case 'channel': {
|
|
91
|
-
await this.sendGuildMessage(options.id, options.content);
|
|
97
|
+
const result = await this.sendGuildMessage(options.id, options.content);
|
|
92
98
|
this.plugin.logger.info(`send ${options.type}(${options.id}):${segment.raw(options.content)}`);
|
|
99
|
+
this.plugin.logger.info(`send ${options.type}(${options.id}):${segment.raw(options.content)}`);
|
|
100
|
+
return `channel-${options.id}:${result.message_id.toString()}`;
|
|
93
101
|
break;
|
|
94
102
|
}
|
|
95
103
|
default:
|
|
96
104
|
throw new Error(`unsupported channel type ${options.type}`);
|
|
97
105
|
}
|
|
98
106
|
}
|
|
107
|
+
async $recallMessage(id) {
|
|
108
|
+
if (!/^(private|group|channel|direct)-([^\:]+):(.+)$/.test(id))
|
|
109
|
+
throw new Error(`invalid message id ${id}`);
|
|
110
|
+
const [target_type, target_id, message_id] = id.match(/^(private|group|channel|direct)-([^\:]+):(.+)$/);
|
|
111
|
+
if (target_type === 'private')
|
|
112
|
+
await this.recallPrivateMessage(target_id, message_id);
|
|
113
|
+
if (target_type === 'group')
|
|
114
|
+
await this.recallGroupMessage(target_id, message_id);
|
|
115
|
+
if (target_type === 'channel')
|
|
116
|
+
await this.recallGuildMessage(target_id, message_id);
|
|
117
|
+
if (target_type === 'direct')
|
|
118
|
+
await this.recallDirectMessage(target_id, message_id);
|
|
119
|
+
}
|
|
99
120
|
}
|
|
100
121
|
registerAdapter(new Adapter('qq', QQBot));
|
|
101
122
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,GAAG,EAIN,MAAM,iBAAiB,CAAC;AACzB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EACH,YAAY,GACf,MAAM,iBAAiB,CAAA;AAKxB,OAAO,EAGH,OAAO,EAEP,eAAe,EACf,OAAO,EAGP,OAAO,EACV,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zhin.js/adapter-qq",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "zhin adapter for qq",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
"typescript": "^5.3.0"
|
|
24
24
|
},
|
|
25
25
|
"peerDependencies": {
|
|
26
|
-
"zhin.js": "1.0.
|
|
27
|
-
"@zhin.js/types": "1.0.
|
|
26
|
+
"zhin.js": "1.0.4",
|
|
27
|
+
"@zhin.js/types": "1.0.2"
|
|
28
28
|
},
|
|
29
29
|
"peerDependenciesMeta": {
|
|
30
30
|
"@zhin.js/types": {
|
package/src/index.ts
CHANGED
|
@@ -23,7 +23,8 @@ import {
|
|
|
23
23
|
SendContent,
|
|
24
24
|
segment
|
|
25
25
|
} from "zhin.js";
|
|
26
|
-
|
|
26
|
+
// 声明模块,注册 qq 适配器类型
|
|
27
|
+
declare module '@zhin.js/types'{
|
|
27
28
|
interface RegisteredAdapters{
|
|
28
29
|
qq:Adapter<QQBot<ReceiverMode>>
|
|
29
30
|
}
|
|
@@ -80,10 +81,10 @@ export class QQBot<T extends ReceiverMode, M extends ApplicationPlatform = Appli
|
|
|
80
81
|
$content: msg.message,
|
|
81
82
|
$raw: msg.raw_message,
|
|
82
83
|
$timestamp: Date.now(),
|
|
83
|
-
$reply:async (content: SendContent, quote: boolean|string=true):Promise<
|
|
84
|
+
$reply:async (content: SendContent, quote: boolean|string=true):Promise<string>=> {
|
|
84
85
|
if(!Array.isArray(content)) content=[content];
|
|
85
86
|
if(quote) content.unshift({type:'reply',data:{id:typeof quote==="boolean"?result.$id:quote}})
|
|
86
|
-
this
|
|
87
|
+
return await this.$sendMessage({
|
|
87
88
|
...result.$channel,
|
|
88
89
|
context:'qq',
|
|
89
90
|
bot:this.$config.name,
|
|
@@ -94,34 +95,50 @@ export class QQBot<T extends ReceiverMode, M extends ApplicationPlatform = Appli
|
|
|
94
95
|
return result
|
|
95
96
|
}
|
|
96
97
|
|
|
97
|
-
async $sendMessage(options: SendOptions): Promise<
|
|
98
|
+
async $sendMessage(options: SendOptions): Promise<string> {
|
|
98
99
|
options=await this.plugin.app.handleBeforeSend(options)
|
|
99
100
|
switch (options.type){
|
|
100
101
|
case 'private':{
|
|
101
102
|
if(options.id.startsWith('direct:')){
|
|
102
103
|
const id=options.id.replace('direct:','')
|
|
103
|
-
await this.sendDirectMessage(id,options.content)
|
|
104
|
+
const result= await this.sendDirectMessage(id,options.content)
|
|
104
105
|
this.plugin.logger.info(`send ${options.type}(${options.id}):${segment.raw(options.content)}`)
|
|
106
|
+
this.plugin.logger.info(`send ${options.type}(${options.id}):${segment.raw(options.content)}`)
|
|
107
|
+
return `direct-${options.id}:${result.message_id.toString()}`
|
|
105
108
|
}else{
|
|
106
|
-
await this.sendPrivateMessage(options.id,options.content)
|
|
109
|
+
const result= await this.sendPrivateMessage(options.id,options.content)
|
|
110
|
+
this.plugin.logger.info(`send ${options.type}(${options.id}):${segment.raw(options.content)}`)
|
|
107
111
|
this.plugin.logger.info(`send ${options.type}(${options.id}):${segment.raw(options.content)}`)
|
|
112
|
+
return `private-${options.id}:${result.message_id.toString()}`
|
|
108
113
|
}
|
|
109
114
|
break;
|
|
110
115
|
}
|
|
111
116
|
case "group":{
|
|
112
|
-
await this.sendGroupMessage(options.id,options.content)
|
|
117
|
+
const result= await this.sendGroupMessage(options.id,options.content)
|
|
118
|
+
this.plugin.logger.info(`send ${options.type}(${options.id}):${segment.raw(options.content)}`)
|
|
113
119
|
this.plugin.logger.info(`send ${options.type}(${options.id}):${segment.raw(options.content)}`)
|
|
120
|
+
return `group-${options.id}:${result.message_id.toString()}`
|
|
114
121
|
break;
|
|
115
122
|
}
|
|
116
123
|
case 'channel':{
|
|
117
|
-
await this.sendGuildMessage(options.id,options.content)
|
|
124
|
+
const result= await this.sendGuildMessage(options.id,options.content)
|
|
118
125
|
this.plugin.logger.info(`send ${options.type}(${options.id}):${segment.raw(options.content)}`)
|
|
126
|
+
this.plugin.logger.info(`send ${options.type}(${options.id}):${segment.raw(options.content)}`)
|
|
127
|
+
return `channel-${options.id}:${result.message_id.toString()}`
|
|
119
128
|
break;
|
|
120
129
|
}
|
|
121
130
|
default:
|
|
122
131
|
throw new Error(`unsupported channel type ${options.type}`)
|
|
123
132
|
}
|
|
124
133
|
}
|
|
134
|
+
async $recallMessage(id:string):Promise<void> {
|
|
135
|
+
if(!/^(private|group|channel|direct)-([^\:]+):(.+)$/.test(id)) throw new Error(`invalid message id ${id}`)
|
|
136
|
+
const [target_type,target_id,message_id]=id.match(/^(private|group|channel|direct)-([^\:]+):(.+)$/)!
|
|
137
|
+
if(target_type==='private') await this.recallPrivateMessage(target_id,message_id)
|
|
138
|
+
if(target_type==='group') await this.recallGroupMessage(target_id,message_id)
|
|
139
|
+
if(target_type==='channel') await this.recallGuildMessage(target_id,message_id)
|
|
140
|
+
if(target_type==='direct') await this.recallDirectMessage(target_id,message_id)
|
|
141
|
+
}
|
|
125
142
|
|
|
126
143
|
}
|
|
127
144
|
|