@alemonjs/qq-bot 2.1.0-alpha.2 → 2.1.0-alpha.21

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 +7 -30
  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 +30 -9
  7. package/lib/hook.js +19 -17
  8. package/lib/index.d.ts +5 -6
  9. package/lib/index.js +37 -19
  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 +41 -22
  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 +270 -176
  76. package/lib/sdk/api.d.ts +196 -969
  77. package/lib/sdk/api.js +267 -916
  78. package/lib/sdk/client.webhook.d.ts +9 -0
  79. package/lib/sdk/{client.js → client.webhook.js} +19 -53
  80. package/lib/sdk/client.websoket.d.ts +9 -0
  81. package/lib/sdk/client.websoket.js +43 -96
  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 +67 -59
  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 +546 -477
  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,63 +1,71 @@
1
- type MessageType = 0 | 1 | 2 | 3 | 4 | 7
2
- type FileType = 1 | 2 | 3 | 4
3
- interface ButtonType {
4
- id: string
5
- render_data: {
6
- label: string
7
- visited_label: string
8
- style?: number
9
- }
10
- action: {
11
- type: number
12
- permission: {
13
- type: number
14
- }
15
- reply?: boolean
16
- enter?: boolean
17
- unsupport_tips?: string
18
- data:
19
- | string
20
- | {
21
- click: string
22
- confirm: string
23
- cancel: string
24
- }
25
- at_bot_show_channel_list?: boolean
26
- }
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 {
5
+ id: string;
6
+ render_data: {
7
+ label: string;
8
+ visited_label: string;
9
+ style?: number;
10
+ };
11
+ action: {
12
+ type: number;
13
+ permission: {
14
+ type: number;
15
+ };
16
+ reply?: boolean;
17
+ enter?: boolean;
18
+ unsupport_tips?: string;
19
+ data: string | {
20
+ click: string;
21
+ confirm: string;
22
+ cancel: string;
23
+ };
24
+ at_bot_show_channel_list?: boolean;
25
+ };
27
26
  }
28
- interface KeyboardType {
29
- id?: string
30
- content?: {
31
- rows: {
32
- buttons: ButtonType[]
33
- }[]
34
- }
27
+ export interface KeyboardType {
28
+ id?: string;
29
+ content?: {
30
+ rows: {
31
+ buttons: ButtonType[];
32
+ }[];
33
+ };
35
34
  }
36
- interface MarkdownType {
37
- /** markdown 模版id,申请模版后获得 */
38
- custom_template_id: string
39
- /** 原生 markdown 文本内容(内邀使用) */
40
- content?: string
41
- /** 模版内变量与填充值的kv映射 */
42
- params?: Array<{
43
- key: string
44
- values: string[]
45
- }>
35
+ export interface MarkdownType {
36
+ custom_template_id?: string;
37
+ content?: string;
38
+ params?: Array<{
39
+ key: string;
40
+ values: string[];
41
+ }>;
46
42
  }
47
- interface ApiRequestData {
48
- content?: string
49
- msg_type: MessageType
50
- markdown?: MarkdownType
51
- keyboard?: KeyboardType
52
- media?: {
53
- file_info: string
54
- }
55
- ark?: any
56
- image?: any
57
- message_reference?: any
58
- event_id?: any
59
- msg_id?: string
60
- msg_seq?: number
43
+ export interface ApiRequestData {
44
+ content?: string;
45
+ msg_type: MessageType;
46
+ markdown?: MarkdownType;
47
+ keyboard?: KeyboardType;
48
+ media?: {
49
+ file_info: string;
50
+ };
51
+ ark?: any;
52
+ image?: any;
53
+ message_reference?: any;
54
+ event_id?: any;
55
+ msg_id?: string;
56
+ msg_seq?: number;
57
+ }
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
+ mode?: 'guild' | 'group' | '';
67
+ route?: string;
68
+ port?: string;
69
+ ws?: string;
70
+ gatewayURL?: string;
61
71
  }
62
-
63
- export type { ApiRequestData, ButtonType, FileType, KeyboardType, MarkdownType, MessageType }
@@ -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 {};