@alemonjs/qq-bot 2.1.0-alpha.9 → 2.1.0

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.
Files changed (109) hide show
  1. package/README.md +13 -45
  2. package/lib/config.d.ts +8 -0
  3. package/lib/config.js +20 -0
  4. package/lib/desktop.d.ts +1 -3
  5. package/lib/desktop.js +3 -12
  6. package/lib/hook.d.ts +36 -9
  7. package/lib/hook.js +21 -19
  8. package/lib/index.d.ts +5 -7
  9. package/lib/index.js +11 -21
  10. package/lib/index.webhook.d.ts +1 -0
  11. package/lib/index.webhook.js +5 -4
  12. package/lib/index.websoket.d.ts +1 -0
  13. package/lib/index.websoket.js +31 -23
  14. package/lib/message/AT_MESSAGE_CREATE.d.ts +35 -0
  15. package/lib/message/AT_MESSAGE_CREATE.js +1 -0
  16. package/lib/message/CHANNEL_CREATE.d.ts +15 -0
  17. package/lib/message/CHANNEL_CREATE.js +1 -0
  18. package/lib/message/CHANNEL_DELETE.d.ts +15 -0
  19. package/lib/message/CHANNEL_DELETE.js +1 -0
  20. package/lib/message/CHANNEL_UPDATE.d.ts +15 -0
  21. package/lib/message/CHANNEL_UPDATE.js +1 -0
  22. package/lib/message/DIRECT_MESSAGE_CREATE.d.ts +29 -0
  23. package/lib/message/DIRECT_MESSAGE_CREATE.js +1 -0
  24. package/lib/message/DIRECT_MESSAGE_DELETE.d.ts +17 -0
  25. package/lib/message/DIRECT_MESSAGE_DELETE.js +1 -0
  26. package/lib/message/ERROR.d.ts +1 -0
  27. package/lib/message/ERROR.js +1 -0
  28. package/lib/message/GUILD_CREATE.d.ts +15 -0
  29. package/lib/message/GUILD_CREATE.js +1 -0
  30. package/lib/message/GUILD_DELETE.d.ts +15 -0
  31. package/lib/message/GUILD_DELETE.js +1 -0
  32. package/lib/message/GUILD_MEMBER_ADD.d.ts +14 -0
  33. package/lib/message/GUILD_MEMBER_ADD.js +1 -0
  34. package/lib/message/GUILD_MEMBER_REMOVE.d.ts +14 -0
  35. package/lib/message/GUILD_MEMBER_REMOVE.js +1 -0
  36. package/lib/message/GUILD_MEMBER_UPDATE.d.ts +14 -0
  37. package/lib/message/GUILD_MEMBER_UPDATE.js +1 -0
  38. package/lib/message/GUILD_UPDATE.d.ts +15 -0
  39. package/lib/message/GUILD_UPDATE.js +1 -0
  40. package/lib/message/INTERACTION_CREATE.d.ts +53 -0
  41. package/lib/message/INTERACTION_CREATE.js +1 -0
  42. package/lib/message/MESSAGE_CREATE.d.ts +1 -0
  43. package/lib/message/MESSAGE_CREATE.js +1 -0
  44. package/lib/message/MESSAGE_DELETE.d.ts +1 -0
  45. package/lib/message/MESSAGE_DELETE.js +1 -0
  46. package/lib/message/MESSAGE_REACTION_ADD.d.ts +13 -0
  47. package/lib/message/MESSAGE_REACTION_ADD.js +1 -0
  48. package/lib/message/MESSAGE_REACTION_REMOVE.d.ts +13 -0
  49. package/lib/message/MESSAGE_REACTION_REMOVE.js +1 -0
  50. package/lib/message/PUBLIC_MESSAGE_DELETE.d.ts +15 -0
  51. package/lib/message/PUBLIC_MESSAGE_DELETE.js +1 -0
  52. package/lib/message/READY.d.ts +6 -0
  53. package/lib/message/READY.js +1 -0
  54. package/lib/message/group/C2C_MESSAGE_CREATE.d.ts +9 -0
  55. package/lib/message/group/C2C_MESSAGE_CREATE.js +1 -0
  56. package/lib/message/group/C2C_MSG_RECEIVE.d.ts +4 -0
  57. package/lib/message/group/C2C_MSG_RECEIVE.js +1 -0
  58. package/lib/message/group/C2C_MSG_REJECT.d.ts +4 -0
  59. package/lib/message/group/C2C_MSG_REJECT.js +1 -0
  60. package/lib/message/group/FRIEND_ADD.d.ts +4 -0
  61. package/lib/message/group/FRIEND_ADD.js +1 -0
  62. package/lib/message/group/FRIEND_DEL.d.ts +4 -0
  63. package/lib/message/group/FRIEND_DEL.js +1 -0
  64. package/lib/message/group/GROUP_ADD_ROBOT.d.ts +5 -0
  65. package/lib/message/group/GROUP_ADD_ROBOT.js +1 -0
  66. package/lib/message/group/GROUP_AT_MESSAGE_CREATE.d.ts +11 -0
  67. package/lib/message/group/GROUP_AT_MESSAGE_CREATE.js +1 -0
  68. package/lib/message/group/GROUP_DEL_ROBOT.d.ts +5 -0
  69. package/lib/message/group/GROUP_DEL_ROBOT.js +1 -0
  70. package/lib/message/group/GROUP_MSG_RECEIVE.d.ts +5 -0
  71. package/lib/message/group/GROUP_MSG_RECEIVE.js +1 -0
  72. package/lib/message/group/GROUP_MSG_REJECT.d.ts +5 -0
  73. package/lib/message/group/GROUP_MSG_REJECT.js +1 -0
  74. package/lib/register.d.ts +2 -3
  75. package/lib/register.js +426 -252
  76. package/lib/sdk/api.d.ts +10 -567
  77. package/lib/sdk/api.js +224 -790
  78. package/lib/sdk/client.webhook.d.ts +9 -0
  79. package/lib/sdk/{client.js → client.webhook.js} +18 -55
  80. package/lib/sdk/client.websoket.d.ts +9 -0
  81. package/lib/sdk/client.websoket.js +52 -97
  82. package/lib/sdk/config.d.ts +1 -0
  83. package/lib/sdk/instance.d.ts +3 -0
  84. package/lib/sdk/instance.js +93 -0
  85. package/lib/sdk/intents.d.ts +3 -0
  86. package/lib/sdk/intents.js +25 -90
  87. package/lib/sdk/message.d.ts +4 -0
  88. package/lib/sdk/message.group.d.ts +24 -0
  89. package/lib/sdk/message.group.js +1 -0
  90. package/lib/sdk/message.guild.d.ts +38 -0
  91. package/lib/sdk/message.guild.js +1 -0
  92. package/lib/sdk/message.js +1 -0
  93. package/lib/sdk/message.public.d.ts +6 -0
  94. package/lib/sdk/message.public.js +1 -0
  95. package/lib/sdk/typing.d.ts +22 -11
  96. package/lib/sdk/typing.js +1 -0
  97. package/lib/sdk/webhook.secret.d.ts +14 -0
  98. package/lib/sdk/webhook.secret.js +6 -21
  99. package/lib/sends.d.ts +29 -0
  100. package/lib/sends.js +326 -745
  101. package/lib/utils.d.ts +1 -0
  102. package/lib/utils.js +7 -12
  103. package/package.json +9 -5
  104. package/lib/index.group.js +0 -19
  105. package/lib/index.guild.js +0 -36
  106. package/lib/sdk/client.websoket.group.js +0 -221
  107. package/lib/sdk/client.websoket.guild.js +0 -205
  108. package/lib/sdk/counter.js +0 -19
  109. package/lib/sdk/from.js +0 -44
@@ -1,94 +1,29 @@
1
- /**
2
- * GUILDS (1 << 0)
3
- - GUILD_CREATE // 当机器人加入新guild时
4
- - GUILD_UPDATE // 当guild资料发生变更时
5
- - GUILD_DELETE // 当机器人退出guild时
6
- - CHANNEL_CREATE // 当channel被创建时
7
- - CHANNEL_UPDATE // 当channel被更新时
8
- - CHANNEL_DELETE // 当channel被删除时
9
-
10
- GUILD_MEMBERS (1 << 1)
11
- - GUILD_MEMBER_ADD // 当成员加入时
12
- - GUILD_MEMBER_UPDATE // 当成员资料变更时
13
- - GUILD_MEMBER_REMOVE // 当成员被移除时
14
-
15
- GUILD_MESSAGES (1 << 9) // 消息事件,仅 *私域* 机器人能够设置此 intents。
16
- - MESSAGE_CREATE // 发送消息事件,代表频道内的全部消息,而不只是 at 机器人的消息。内容与 AT_MESSAGE_CREATE 相同
17
- - MESSAGE_DELETE // 删除(撤回)消息事件
18
-
19
- GUILD_MESSAGE_REACTIONS (1 << 10)
20
- - MESSAGE_REACTION_ADD // 为消息添加表情表态
21
- - MESSAGE_REACTION_REMOVE // 为消息删除表情表态
22
-
23
- DIRECT_MESSAGE (1 << 12)
24
- - DIRECT_MESSAGE_CREATE // 当收到用户发给机器人的私信消息时
25
- - DIRECT_MESSAGE_DELETE // 删除(撤回)消息事件
26
-
27
-
28
- GROUP_AND_C2C_EVENT (1 << 25)
29
- - C2C_MESSAGE_CREATE // 用户单聊发消息给机器人时候
30
- - FRIEND_ADD // 用户添加使用机器人
31
- - FRIEND_DEL // 用户删除机器人
32
- - C2C_MSG_REJECT // 用户在机器人资料卡手动关闭"主动消息"推送
33
- - C2C_MSG_RECEIVE // 用户在机器人资料卡手动开启"主动消息"推送开关
34
- - GROUP_AT_MESSAGE_CREATE // 用户在群里@机器人时收到的消息
35
- - GROUP_ADD_ROBOT // 机器人被添加到群聊
36
- - GROUP_DEL_ROBOT // 机器人被移出群聊
37
- - GROUP_MSG_REJECT // 群管理员主动在机器人资料页操作关闭通知
38
- - GROUP_MSG_RECEIVE // 群管理员主动在机器人资料页操作开启通知
39
-
40
- INTERACTION (1 << 26)
41
- - INTERACTION_CREATE // 互动事件创建时
42
-
43
- MESSAGE_AUDIT (1 << 27)
44
- - MESSAGE_AUDIT_PASS // 消息审核通过
45
- - MESSAGE_AUDIT_REJECT // 消息审核不通过
46
-
47
- FORUMS_EVENT (1 << 28) // 论坛事件,仅 *私域* 机器人能够设置此 intents。
48
- - FORUM_THREAD_CREATE // 当用户创建主题时
49
- - FORUM_THREAD_UPDATE // 当用户更新主题时
50
- - FORUM_THREAD_DELETE // 当用户删除主题时
51
- - FORUM_POST_CREATE // 当用户创建帖子时
52
- - FORUM_POST_DELETE // 当用户删除帖子时
53
- - FORUM_REPLY_CREATE // 当用户回复评论时
54
- - FORUM_REPLY_DELETE // 当用户回复评论时
55
- - FORUM_PUBLISH_AUDIT_RESULT // 当用户发表审核通过时
56
-
57
- AUDIO_ACTION (1 << 29)
58
- - AUDIO_START // 音频开始播放时
59
- - AUDIO_FINISH // 音频播放结束时
60
- - AUDIO_ON_MIC // 上麦时
61
- - AUDIO_OFF_MIC // 下麦时
62
-
63
- PUBLIC_GUILD_MESSAGES (1 << 30) // 消息事件,此为公域的消息事件
64
- - AT_MESSAGE_CREATE // 当收到@机器人的消息时
65
- - PUBLIC_MESSAGE_DELETE // 当频道的消息被删除时
66
- */
67
- /**
68
- * 订阅枚举
69
- */
70
- /**
71
- * 订阅事件集合
72
- */
1
+ const AvailableIntentsEventsEnum = [
2
+ 'GUILDS',
3
+ 'GUILD_MEMBERS',
4
+ 'GUILD_MESSAGES',
5
+ 'GUILD_MESSAGE_REACTIONS',
6
+ 'DIRECT_MESSAGE',
7
+ 'INTERACTION',
8
+ 'MESSAGE_AUDIT',
9
+ 'FORUMS_EVENT',
10
+ 'AUDIO_ACTION',
11
+ 'PUBLIC_GUILD_MESSAGES',
12
+ 'GROUP_AND_C2C_EVENT'
13
+ ];
73
14
  const intentsMap = {
74
- GUILDS: 1 << 0, // 频道事件
75
- GUILD_MEMBERS: 1 << 1, // 成员
76
- GUILD_MESSAGES: 1 << 9, // 消息事件,仅 *私域*
77
- GUILD_MESSAGE_REACTIONS: 1 << 10, // 消息表情表态
78
- DIRECT_MESSAGE: 1 << 12, // 私信消息
79
- INTERACTION: 1 << 26, // 互动事件
80
- // INTERACTION_CREATE: 1 << 26,
81
- MESSAGE_AUDIT: 1 << 27, // 消息审核
82
- FORUMS_EVENT: 1 << 28, // 论坛事件,仅 *私域*
83
- AUDIO_ACTION: 1 << 29, // 音频
84
- PUBLIC_GUILD_MESSAGES: 1 << 30, // 消息事件,此为公域的消息事件
85
- GROUP_AND_C2C_EVENT: 1 << 25 // group all
15
+ GUILDS: 1 << 0,
16
+ GUILD_MEMBERS: 1 << 1,
17
+ GUILD_MESSAGES: 1 << 9,
18
+ GUILD_MESSAGE_REACTIONS: 1 << 10,
19
+ DIRECT_MESSAGE: 1 << 12,
20
+ INTERACTION: 1 << 26,
21
+ MESSAGE_AUDIT: 1 << 27,
22
+ FORUMS_EVENT: 1 << 28,
23
+ AUDIO_ACTION: 1 << 29,
24
+ PUBLIC_GUILD_MESSAGES: 1 << 30,
25
+ GROUP_AND_C2C_EVENT: 1 << 25
86
26
  };
87
- /**
88
- *
89
- * @param intents
90
- * @returns
91
- */
92
27
  function getIntentsMask(intents) {
93
28
  let intentsMask = 0;
94
29
  for (const item of intents) {
@@ -100,4 +35,4 @@ function getIntentsMask(intents) {
100
35
  return intentsMask;
101
36
  }
102
37
 
103
- export { getIntentsMask };
38
+ export { AvailableIntentsEventsEnum, getIntentsMask };
@@ -0,0 +1,4 @@
1
+ import type { QQBotGroupEventMap } from './message.group';
2
+ import type { QQBotGuildEventMap } from './message.guild';
3
+ import { QQBotPublicEventMap } from './message.public';
4
+ export type QQBotEventMap = QQBotGroupEventMap & QQBotGuildEventMap & QQBotPublicEventMap;
@@ -0,0 +1,24 @@
1
+ import { C2C_MESSAGE_CREATE_TYPE } from '../message/group/C2C_MESSAGE_CREATE';
2
+ import { C2C_MSG_REJECT_TYPE } from '../message/group/C2C_MSG_REJECT';
3
+ import { C2C_MSG_RECEIVE_TYPE } from '../message/group/C2C_MSG_RECEIVE';
4
+ import { GROUP_ADD_ROBOT_TYPE } from '../message/group/GROUP_ADD_ROBOT';
5
+ import { GROUP_AT_MESSAGE_CREATE_TYPE } from '../message/group/GROUP_AT_MESSAGE_CREATE';
6
+ import { GROUP_DEL_ROBOT_TYPE } from '../message/group/GROUP_DEL_ROBOT';
7
+ import { GROUP_MSG_RECEIVE_TYPE } from '../message/group/GROUP_MSG_RECEIVE';
8
+ import { GROUP_MSG_REJECT_TYPE } from '../message/group/GROUP_MSG_REJECT';
9
+ import { FRIEND_ADD_TYPE } from '../message/group/FRIEND_ADD';
10
+ import { FRIEND_DEL_TYPE } from '../message/group/FRIEND_DEL';
11
+ import { ERROR_TYPE } from '../message/ERROR';
12
+ export type QQBotGroupEventMap = {
13
+ C2C_MESSAGE_CREATE: C2C_MESSAGE_CREATE_TYPE;
14
+ C2C_MSG_REJECT: C2C_MSG_REJECT_TYPE;
15
+ C2C_MSG_RECEIVE: C2C_MSG_RECEIVE_TYPE;
16
+ GROUP_ADD_ROBOT: GROUP_ADD_ROBOT_TYPE;
17
+ GROUP_AT_MESSAGE_CREATE: GROUP_AT_MESSAGE_CREATE_TYPE;
18
+ GROUP_DEL_ROBOT: GROUP_DEL_ROBOT_TYPE;
19
+ GROUP_MSG_RECEIVE: GROUP_MSG_RECEIVE_TYPE;
20
+ GROUP_MSG_REJECT: GROUP_MSG_REJECT_TYPE;
21
+ FRIEND_ADD: FRIEND_ADD_TYPE;
22
+ FRIEND_DEL: FRIEND_DEL_TYPE;
23
+ ERROR: ERROR_TYPE;
24
+ };
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,38 @@
1
+ import { CHANNEL_CREATE_TYPE } from '../message/CHANNEL_CREATE';
2
+ import { CHANNEL_DELETE_TYPE } from '../message/CHANNEL_DELETE';
3
+ import { CHANNEL_UPDATE_TYPE } from '../message/CHANNEL_UPDATE';
4
+ import { DIRECT_MESSAGE_CREATE_TYPE } from '../message/DIRECT_MESSAGE_CREATE';
5
+ import { DIRECT_MESSAGE_DELETE_TYPE } from '../message/DIRECT_MESSAGE_DELETE';
6
+ import { GUILD_CREATE_TYPE } from '../message/GUILD_CREATE';
7
+ import { GUILD_DELETE_TYPE } from '../message/GUILD_DELETE';
8
+ import { GUILD_MEMBER_ADD_TYPE } from '../message/GUILD_MEMBER_ADD';
9
+ import { GUILD_MEMBER_REMOVE_TYPE } from '../message/GUILD_MEMBER_REMOVE';
10
+ import { GUILD_MEMBER_UPDATE_TYPE } from '../message/GUILD_MEMBER_UPDATE';
11
+ import { GUILD_UPDATE_TYPE } from '../message/GUILD_UPDATE';
12
+ import { MESSAGE_CREATE_TYPE } from '../message/MESSAGE_CREATE';
13
+ import { MESSAGE_DELETE_TYPE } from '../message/MESSAGE_DELETE';
14
+ import { MESSAGE_REACTION_ADD_TYPE } from '../message/MESSAGE_REACTION_ADD';
15
+ import { MESSAGE_REACTION_REMOVE_TYPE } from '../message/MESSAGE_REACTION_REMOVE';
16
+ import { AT_MESSAGE_CREATE_TYPE } from '../message/AT_MESSAGE_CREATE';
17
+ import { PUBLIC_MESSAGE_DELETE_TYPE } from '../message/PUBLIC_MESSAGE_DELETE';
18
+ import { READY_TYPE } from '../message/READY';
19
+ export type QQBotGuildEventMap = {
20
+ CHANNEL_CREATE: CHANNEL_CREATE_TYPE;
21
+ CHANNEL_DELETE: CHANNEL_DELETE_TYPE;
22
+ CHANNEL_UPDATE: CHANNEL_UPDATE_TYPE;
23
+ DIRECT_MESSAGE_CREATE: DIRECT_MESSAGE_CREATE_TYPE;
24
+ DIRECT_MESSAGE_DELETE: DIRECT_MESSAGE_DELETE_TYPE;
25
+ GUILD_CREATE: GUILD_CREATE_TYPE;
26
+ GUILD_DELETE: GUILD_DELETE_TYPE;
27
+ GUILD_MEMBER_ADD: GUILD_MEMBER_ADD_TYPE;
28
+ GUILD_MEMBER_REMOVE: GUILD_MEMBER_REMOVE_TYPE;
29
+ GUILD_MEMBER_UPDATE: GUILD_MEMBER_UPDATE_TYPE;
30
+ GUILD_UPDATE: GUILD_UPDATE_TYPE;
31
+ MESSAGE_CREATE: MESSAGE_CREATE_TYPE;
32
+ MESSAGE_DELETE: MESSAGE_DELETE_TYPE;
33
+ MESSAGE_REACTION_ADD: MESSAGE_REACTION_ADD_TYPE;
34
+ MESSAGE_REACTION_REMOVE: MESSAGE_REACTION_REMOVE_TYPE;
35
+ AT_MESSAGE_CREATE: AT_MESSAGE_CREATE_TYPE;
36
+ PUBLIC_MESSAGE_DELETE: PUBLIC_MESSAGE_DELETE_TYPE;
37
+ READY: READY_TYPE;
38
+ };
@@ -0,0 +1 @@
1
+
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,6 @@
1
+ import { ERROR_TYPE } from '../message/ERROR';
2
+ import { INTERACTION_CREATE_TYPE } from '../message/INTERACTION_CREATE';
3
+ export type QQBotPublicEventMap = {
4
+ INTERACTION_CREATE: INTERACTION_CREATE_TYPE;
5
+ ERROR: ERROR_TYPE;
6
+ };
@@ -0,0 +1 @@
1
+
@@ -1,6 +1,7 @@
1
- type MessageType = 0 | 1 | 2 | 3 | 4 | 7;
2
- type FileType = 1 | 2 | 3 | 4;
3
- interface ButtonType {
1
+ import { IntentsEnum } from './intents';
2
+ export type MessageType = 0 | 1 | 2 | 3 | 4 | 7;
3
+ export type FileType = 1 | 2 | 3 | 4;
4
+ export interface ButtonType {
4
5
  id: string;
5
6
  render_data: {
6
7
  label: string;
@@ -23,7 +24,7 @@ interface ButtonType {
23
24
  at_bot_show_channel_list?: boolean;
24
25
  };
25
26
  }
26
- interface KeyboardType {
27
+ export interface KeyboardType {
27
28
  id?: string;
28
29
  content?: {
29
30
  rows: {
@@ -31,18 +32,15 @@ interface KeyboardType {
31
32
  }[];
32
33
  };
33
34
  }
34
- interface MarkdownType {
35
- /** markdown 模版id,申请模版后获得 */
35
+ export interface MarkdownType {
36
36
  custom_template_id?: string;
37
- /** 原生 markdown 文本内容(内邀使用) */
38
37
  content?: string;
39
- /** 模版内变量与填充值的kv映射 */
40
38
  params?: Array<{
41
39
  key: string;
42
40
  values: string[];
43
41
  }>;
44
42
  }
45
- interface ApiRequestData {
43
+ export interface ApiRequestData {
46
44
  content?: string;
47
45
  msg_type: MessageType;
48
46
  markdown?: MarkdownType;
@@ -57,5 +55,18 @@ interface ApiRequestData {
57
55
  msg_id?: string;
58
56
  msg_seq?: number;
59
57
  }
60
-
61
- export type { ApiRequestData, ButtonType, FileType, KeyboardType, MarkdownType, MessageType };
58
+ export interface Options {
59
+ app_id: string;
60
+ token: string;
61
+ secret: string;
62
+ shard?: number[];
63
+ intents?: IntentsEnum[];
64
+ is_private?: boolean;
65
+ sandbox?: boolean;
66
+ route?: string;
67
+ port?: string;
68
+ ws?: string;
69
+ gatewayURL?: string;
70
+ base_url_gateway?: string;
71
+ base_url_app_access_token?: string;
72
+ }
@@ -0,0 +1 @@
1
+
@@ -0,0 +1,14 @@
1
+ export declare class WebhookAPI {
2
+ config: {
3
+ secret: string;
4
+ };
5
+ constructor(config: {
6
+ secret: string;
7
+ });
8
+ validSign(ts: any, body: any, sign: any): boolean;
9
+ getSign(eventTs: any, plainToken: any): string;
10
+ getKey(): {
11
+ privateKey: Buffer<ArrayBuffer>;
12
+ publicKey: Uint8Array<ArrayBufferLike>;
13
+ };
14
+ }
@@ -5,13 +5,6 @@ class WebhookAPI {
5
5
  constructor(config) {
6
6
  this.config = config;
7
7
  }
8
- /**
9
- * 验证签名
10
- * @param ts
11
- * @param body
12
- * @param sign
13
- * @returns
14
- */
15
8
  validSign(ts, body, sign) {
16
9
  const { publicKey } = this.getKey();
17
10
  const sig = Buffer.isBuffer(sign) ? sign : Buffer.from(sign, 'hex');
@@ -19,29 +12,21 @@ class WebhookAPI {
19
12
  const msg = Buffer.from(ts + httpBody);
20
13
  return ed25519.verify(sig, msg, publicKey);
21
14
  }
22
- /**
23
- * 生成签名
24
- * @param eventTs
25
- * @param plainToken
26
- * @returns
27
- */
28
15
  getSign(eventTs, plainToken) {
29
16
  const { privateKey } = this.getKey();
30
17
  const msg = Buffer.from(eventTs + plainToken);
31
18
  const signature = Buffer.from(ed25519.sign(msg, privateKey)).toString('hex');
32
19
  return signature;
33
20
  }
34
- /**
35
- * 获取 key
36
- * @returns
37
- */
38
21
  getKey() {
39
22
  let seed = this.config.secret;
40
- if (!seed)
23
+ if (!seed) {
41
24
  throw new Error("secret not set, can't calc ed25519 key");
42
- while (seed.length < 32)
43
- seed = seed.repeat(2); // Ed25519 的种子大小是 32 字节
44
- seed = seed.slice(0, 32); // 修剪到 32 字节
25
+ }
26
+ while (seed.length < 32) {
27
+ seed = seed.repeat(2);
28
+ }
29
+ seed = seed.slice(0, 32);
45
30
  const privateKey = Buffer.from(seed);
46
31
  return {
47
32
  privateKey,
package/lib/sends.d.ts ADDED
@@ -0,0 +1,29 @@
1
+ import { QQBotAPI } from './sdk/api';
2
+ import { ClientAPIMessageResult, type DataEnums } from 'alemonjs';
3
+ type Client = typeof QQBotAPI.prototype;
4
+ export declare const GROUP_AT_MESSAGE_CREATE: (client: Client, event: {
5
+ ChannelId: string;
6
+ MessageId?: string;
7
+ _tag?: string;
8
+ }, val: DataEnums[]) => Promise<ClientAPIMessageResult[]>;
9
+ export declare const C2C_MESSAGE_CREATE: (client: Client, event: {
10
+ UserId: string;
11
+ MessageId?: string;
12
+ _tag?: string;
13
+ }, val: DataEnums[]) => Promise<ClientAPIMessageResult[]>;
14
+ export declare const DIRECT_MESSAGE_CREATE: (client: Client, event: {
15
+ UserId: string;
16
+ MessageId?: string;
17
+ _tag?: string;
18
+ }, val: DataEnums[]) => Promise<ClientAPIMessageResult[]>;
19
+ export declare const MESSAGE_CREATE: (client: Client, event: {
20
+ ChannelId: string;
21
+ MessageId?: string;
22
+ _tag?: string;
23
+ }, val: DataEnums[]) => Promise<ClientAPIMessageResult[]>;
24
+ export declare const AT_MESSAGE_CREATE: (client: Client, event: {
25
+ ChannelId: string;
26
+ MessageId?: string;
27
+ _tag?: string;
28
+ }, val: DataEnums[]) => Promise<ClientAPIMessageResult[]>;
29
+ export {};