@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.
- package/README.md +13 -45
- package/lib/config.d.ts +8 -0
- package/lib/config.js +20 -0
- package/lib/desktop.d.ts +1 -3
- package/lib/desktop.js +3 -12
- package/lib/hook.d.ts +36 -9
- package/lib/hook.js +21 -19
- package/lib/index.d.ts +5 -7
- package/lib/index.js +11 -21
- package/lib/index.webhook.d.ts +1 -0
- package/lib/index.webhook.js +5 -4
- package/lib/index.websoket.d.ts +1 -0
- package/lib/index.websoket.js +31 -23
- package/lib/message/AT_MESSAGE_CREATE.d.ts +35 -0
- package/lib/message/AT_MESSAGE_CREATE.js +1 -0
- package/lib/message/CHANNEL_CREATE.d.ts +15 -0
- package/lib/message/CHANNEL_CREATE.js +1 -0
- package/lib/message/CHANNEL_DELETE.d.ts +15 -0
- package/lib/message/CHANNEL_DELETE.js +1 -0
- package/lib/message/CHANNEL_UPDATE.d.ts +15 -0
- package/lib/message/CHANNEL_UPDATE.js +1 -0
- package/lib/message/DIRECT_MESSAGE_CREATE.d.ts +29 -0
- package/lib/message/DIRECT_MESSAGE_CREATE.js +1 -0
- package/lib/message/DIRECT_MESSAGE_DELETE.d.ts +17 -0
- package/lib/message/DIRECT_MESSAGE_DELETE.js +1 -0
- package/lib/message/ERROR.d.ts +1 -0
- package/lib/message/ERROR.js +1 -0
- package/lib/message/GUILD_CREATE.d.ts +15 -0
- package/lib/message/GUILD_CREATE.js +1 -0
- package/lib/message/GUILD_DELETE.d.ts +15 -0
- package/lib/message/GUILD_DELETE.js +1 -0
- package/lib/message/GUILD_MEMBER_ADD.d.ts +14 -0
- package/lib/message/GUILD_MEMBER_ADD.js +1 -0
- package/lib/message/GUILD_MEMBER_REMOVE.d.ts +14 -0
- package/lib/message/GUILD_MEMBER_REMOVE.js +1 -0
- package/lib/message/GUILD_MEMBER_UPDATE.d.ts +14 -0
- package/lib/message/GUILD_MEMBER_UPDATE.js +1 -0
- package/lib/message/GUILD_UPDATE.d.ts +15 -0
- package/lib/message/GUILD_UPDATE.js +1 -0
- package/lib/message/INTERACTION_CREATE.d.ts +53 -0
- package/lib/message/INTERACTION_CREATE.js +1 -0
- package/lib/message/MESSAGE_CREATE.d.ts +1 -0
- package/lib/message/MESSAGE_CREATE.js +1 -0
- package/lib/message/MESSAGE_DELETE.d.ts +1 -0
- package/lib/message/MESSAGE_DELETE.js +1 -0
- package/lib/message/MESSAGE_REACTION_ADD.d.ts +13 -0
- package/lib/message/MESSAGE_REACTION_ADD.js +1 -0
- package/lib/message/MESSAGE_REACTION_REMOVE.d.ts +13 -0
- package/lib/message/MESSAGE_REACTION_REMOVE.js +1 -0
- package/lib/message/PUBLIC_MESSAGE_DELETE.d.ts +15 -0
- package/lib/message/PUBLIC_MESSAGE_DELETE.js +1 -0
- package/lib/message/READY.d.ts +6 -0
- package/lib/message/READY.js +1 -0
- package/lib/message/group/C2C_MESSAGE_CREATE.d.ts +9 -0
- package/lib/message/group/C2C_MESSAGE_CREATE.js +1 -0
- package/lib/message/group/C2C_MSG_RECEIVE.d.ts +4 -0
- package/lib/message/group/C2C_MSG_RECEIVE.js +1 -0
- package/lib/message/group/C2C_MSG_REJECT.d.ts +4 -0
- package/lib/message/group/C2C_MSG_REJECT.js +1 -0
- package/lib/message/group/FRIEND_ADD.d.ts +4 -0
- package/lib/message/group/FRIEND_ADD.js +1 -0
- package/lib/message/group/FRIEND_DEL.d.ts +4 -0
- package/lib/message/group/FRIEND_DEL.js +1 -0
- package/lib/message/group/GROUP_ADD_ROBOT.d.ts +5 -0
- package/lib/message/group/GROUP_ADD_ROBOT.js +1 -0
- package/lib/message/group/GROUP_AT_MESSAGE_CREATE.d.ts +11 -0
- package/lib/message/group/GROUP_AT_MESSAGE_CREATE.js +1 -0
- package/lib/message/group/GROUP_DEL_ROBOT.d.ts +5 -0
- package/lib/message/group/GROUP_DEL_ROBOT.js +1 -0
- package/lib/message/group/GROUP_MSG_RECEIVE.d.ts +5 -0
- package/lib/message/group/GROUP_MSG_RECEIVE.js +1 -0
- package/lib/message/group/GROUP_MSG_REJECT.d.ts +5 -0
- package/lib/message/group/GROUP_MSG_REJECT.js +1 -0
- package/lib/register.d.ts +2 -3
- package/lib/register.js +426 -252
- package/lib/sdk/api.d.ts +10 -567
- package/lib/sdk/api.js +224 -790
- package/lib/sdk/client.webhook.d.ts +9 -0
- package/lib/sdk/{client.js → client.webhook.js} +18 -55
- package/lib/sdk/client.websoket.d.ts +9 -0
- package/lib/sdk/client.websoket.js +52 -97
- package/lib/sdk/config.d.ts +1 -0
- package/lib/sdk/instance.d.ts +3 -0
- package/lib/sdk/instance.js +93 -0
- package/lib/sdk/intents.d.ts +3 -0
- package/lib/sdk/intents.js +25 -90
- package/lib/sdk/message.d.ts +4 -0
- package/lib/sdk/message.group.d.ts +24 -0
- package/lib/sdk/message.group.js +1 -0
- package/lib/sdk/message.guild.d.ts +38 -0
- package/lib/sdk/message.guild.js +1 -0
- package/lib/sdk/message.js +1 -0
- package/lib/sdk/message.public.d.ts +6 -0
- package/lib/sdk/message.public.js +1 -0
- package/lib/sdk/typing.d.ts +22 -11
- package/lib/sdk/typing.js +1 -0
- package/lib/sdk/webhook.secret.d.ts +14 -0
- package/lib/sdk/webhook.secret.js +6 -21
- package/lib/sends.d.ts +29 -0
- package/lib/sends.js +326 -745
- package/lib/utils.d.ts +1 -0
- package/lib/utils.js +7 -12
- package/package.json +9 -5
- package/lib/index.group.js +0 -19
- package/lib/index.guild.js +0 -36
- package/lib/sdk/client.websoket.group.js +0 -221
- package/lib/sdk/client.websoket.guild.js +0 -205
- package/lib/sdk/counter.js +0 -19
- package/lib/sdk/from.js +0 -44
package/lib/sdk/intents.js
CHANGED
|
@@ -1,94 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
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,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 @@
|
|
|
1
|
+
|
package/lib/sdk/typing.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
type
|
|
3
|
-
|
|
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
|
-
|
|
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
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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 {};
|