@zhin.js/adapter-qq 1.0.2 → 1.0.3

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 CHANGED
@@ -1,5 +1,14 @@
1
1
  # @zhin.js/adapter-qq
2
2
 
3
+ ## 1.0.3
4
+
5
+ ### Patch Changes
6
+
7
+ - 89bc676: fix: 类型反射优化
8
+ - Updated dependencies [89bc676]
9
+ - @zhin.js/types@1.0.2
10
+ - zhin.js@1.0.3
11
+
3
12
  ## 1.0.2
4
13
 
5
14
  ### 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<void>;
25
+ $sendMessage(options: SendOptions): Promise<string>;
26
+ $recallMessage(id: string): Promise<void>;
26
27
  }
27
28
  //# sourceMappingURL=index.d.ts.map
@@ -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;AACjB,OAAO,QAAQ,SAAS,CAAA;IACpB,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,IAAI,CAAC;CA6B1D"}
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.plugin.dispatch('message.send', {
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":"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"}
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.2",
3
+ "version": "1.0.3",
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.2",
27
- "@zhin.js/types": "1.0.1"
26
+ "zhin.js": "1.0.3",
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
- declare module 'zhin.js'{
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<void>=> {
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.plugin.dispatch('message.send',{
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<void> {
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