@alemonjs/discord 0.2.10 → 2.1.0-alpha.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/dist/assets/index.css +1 -1248
- package/dist/assets/index.js +4 -10990
- package/dist/index.html +1 -1
- package/lib/index.d.ts +2 -8
- package/lib/index.js +113 -94
- package/lib/sdk/api.d.ts +965 -941
- package/lib/sdk/api.js +7 -3
- package/lib/sdk/message/CHANNEL_TOPIC_UPDATE.d.ts +5 -5
- package/lib/sdk/message/CHANNEL_UPDATE.d.ts +42 -42
- package/lib/sdk/message/GUILD_MEMBER_ADD.d.ts +23 -23
- package/lib/sdk/message/GUILD_MEMBER_REMOVE.d.ts +12 -12
- package/lib/sdk/message/GUILD_MEMBER_UPDATE.d.ts +27 -27
- package/lib/sdk/message/INTERACTION_CREATE.d.ts +113 -113
- package/lib/sdk/message/MESSAGE_CREATE.d.ts +53 -53
- package/lib/sdk/message/MESSAGE_DELETE.d.ts +5 -5
- package/lib/sdk/message/MESSAGE_REACTION_ADD.d.ts +36 -36
- package/lib/sdk/message/MESSAGE_UPDATE.d.ts +50 -50
- package/lib/sdk/message/PRESENCE_UPDATE.d.ts +62 -56
- package/lib/sdk/message/READY.d.ts +7 -7
- package/lib/sdk/message/TYPING_START.d.ts +29 -29
- package/lib/sdk/message/VOICE_CHANNEL_STATUS_UPDATE.d.ts +5 -5
- package/lib/sdk/message/VOICE_STATE_UPDATE.d.ts +36 -36
- package/lib/sdk/message.d.ts +95 -95
- package/lib/sdk/types.d.ts +4 -4
- package/lib/sdk/wss.d.ts +23 -23
- package/lib/sdk/wss.types.d.ts +21 -21
- package/lib/send.js +24 -96
- package/package.json +1 -1
package/lib/sdk/message.d.ts
CHANGED
|
@@ -1,101 +1,101 @@
|
|
|
1
|
-
import { CHANNEL_TOPIC_UPDATE_TYPE } from './message/CHANNEL_TOPIC_UPDATE.js'
|
|
2
|
-
import { CHANNEL_UPDATE_TYPE } from './message/CHANNEL_UPDATE.js'
|
|
3
|
-
import { GUILD_MEMBER_ADD_TYPE } from './message/GUILD_MEMBER_ADD.js'
|
|
4
|
-
import { GUILD_MEMBER_REMOVE_TYPE } from './message/GUILD_MEMBER_REMOVE.js'
|
|
5
|
-
import { GUILD_MEMBER_UPDATE_TYPE } from './message/GUILD_MEMBER_UPDATE.js'
|
|
6
|
-
import { INTERACTION_CREATE_TYPE } from './message/INTERACTION_CREATE.js'
|
|
7
|
-
import { MESSAGE_CREATE_TYPE } from './message/MESSAGE_CREATE.js'
|
|
8
|
-
import { MESSAGE_DELETE_TYPE } from './message/MESSAGE_DELETE.js'
|
|
9
|
-
import { MESSAGE_REACTION_ADD_TYPE } from './message/MESSAGE_REACTION_ADD.js'
|
|
10
|
-
import { MESSAGE_UPDATE_TYPE } from './message/MESSAGE_UPDATE.js'
|
|
11
|
-
import { PRESENCE_UPDATE_TYPE } from './message/PRESENCE_UPDATE.js'
|
|
12
|
-
import { READY_TYPE } from './message/READY.js'
|
|
13
|
-
import { TYPING_START_TYPE } from './message/TYPING_START.js'
|
|
14
|
-
import { VOICE_CHANNEL_STATUS_UPDATE_TYPE } from './message/VOICE_CHANNEL_STATUS_UPDATE.js'
|
|
15
|
-
import { VOICE_STATE_UPDATE_TYPE } from './message/VOICE_STATE_UPDATE.js'
|
|
1
|
+
import { CHANNEL_TOPIC_UPDATE_TYPE } from './message/CHANNEL_TOPIC_UPDATE.js'
|
|
2
|
+
import { CHANNEL_UPDATE_TYPE } from './message/CHANNEL_UPDATE.js'
|
|
3
|
+
import { GUILD_MEMBER_ADD_TYPE } from './message/GUILD_MEMBER_ADD.js'
|
|
4
|
+
import { GUILD_MEMBER_REMOVE_TYPE } from './message/GUILD_MEMBER_REMOVE.js'
|
|
5
|
+
import { GUILD_MEMBER_UPDATE_TYPE } from './message/GUILD_MEMBER_UPDATE.js'
|
|
6
|
+
import { INTERACTION_CREATE_TYPE } from './message/INTERACTION_CREATE.js'
|
|
7
|
+
import { MESSAGE_CREATE_TYPE } from './message/MESSAGE_CREATE.js'
|
|
8
|
+
import { MESSAGE_DELETE_TYPE } from './message/MESSAGE_DELETE.js'
|
|
9
|
+
import { MESSAGE_REACTION_ADD_TYPE } from './message/MESSAGE_REACTION_ADD.js'
|
|
10
|
+
import { MESSAGE_UPDATE_TYPE } from './message/MESSAGE_UPDATE.js'
|
|
11
|
+
import { PRESENCE_UPDATE_TYPE } from './message/PRESENCE_UPDATE.js'
|
|
12
|
+
import { READY_TYPE } from './message/READY.js'
|
|
13
|
+
import { TYPING_START_TYPE } from './message/TYPING_START.js'
|
|
14
|
+
import { VOICE_CHANNEL_STATUS_UPDATE_TYPE } from './message/VOICE_CHANNEL_STATUS_UPDATE.js'
|
|
15
|
+
import { VOICE_STATE_UPDATE_TYPE } from './message/VOICE_STATE_UPDATE.js'
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* Discord 事件映射表
|
|
19
19
|
*/
|
|
20
20
|
type DCEventMap = {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
}
|
|
21
|
+
GUILD_CREATE: any
|
|
22
|
+
GUILD_UPDATE: any
|
|
23
|
+
GUILD_DELETE: any
|
|
24
|
+
GUILD_ROLE_CREATE: any
|
|
25
|
+
GUILD_ROLE_UPDATE: any
|
|
26
|
+
GUILD_ROLE_DELETE: any
|
|
27
|
+
CHANNEL_CREATE: any
|
|
28
|
+
CHANNEL_UPDATE: CHANNEL_UPDATE_TYPE
|
|
29
|
+
CHANNEL_DELETE: any
|
|
30
|
+
CHANNEL_PINS_UPDATE: any
|
|
31
|
+
CHANNEL_TOPIC_UPDATE: CHANNEL_TOPIC_UPDATE_TYPE
|
|
32
|
+
THREAD_CREATE: any
|
|
33
|
+
THREAD_UPDATE: any
|
|
34
|
+
THREAD_DELETE: any
|
|
35
|
+
THREAD_LIST_SYNC: any
|
|
36
|
+
THREAD_MEMBER_UPDATE: any
|
|
37
|
+
THREAD_MEMBERS_UPDATE: any
|
|
38
|
+
STAGE_INSTANCE_CREATE: any
|
|
39
|
+
STAGE_INSTANCE_UPDATE: any
|
|
40
|
+
STAGE_INSTANCE_DELETE: any
|
|
41
|
+
GUILD_MEMBER_ADD: GUILD_MEMBER_ADD_TYPE
|
|
42
|
+
GUILD_MEMBER_UPDATE: GUILD_MEMBER_UPDATE_TYPE
|
|
43
|
+
GUILD_MEMBER_REMOVE: GUILD_MEMBER_REMOVE_TYPE
|
|
44
|
+
GUILD_AUDIT_LOG_ENTRY_CREATE: any
|
|
45
|
+
GUILD_BAN_ADD: any
|
|
46
|
+
GUILD_BAN_REMOVE: any
|
|
47
|
+
GUILD_EMOJIS_UPDATE: any
|
|
48
|
+
GUILD_STICKERS_UPDATE: any
|
|
49
|
+
GUILD_SOUNDBOARD_SOUND_CREATE: any
|
|
50
|
+
GUILD_SOUNDBOARD_SOUND_UPDATE: any
|
|
51
|
+
GUILD_SOUNDBOARD_SOUND_DELETE: any
|
|
52
|
+
GUILD_SOUNDBOARD_SOUNDS_UPDATE: any
|
|
53
|
+
GUILD_INTEGRATIONS_UPDATE: any
|
|
54
|
+
INTEGRATION_CREATE: any
|
|
55
|
+
INTEGRATION_UPDATE: any
|
|
56
|
+
INTEGRATION_DELETE: any
|
|
57
|
+
WEBHOOKS_UPDATE: any
|
|
58
|
+
INVITE_CREATE: any
|
|
59
|
+
INVITE_DELETE: any
|
|
60
|
+
VOICE_STATE_UPDATE: VOICE_STATE_UPDATE_TYPE
|
|
61
|
+
VOICE_CHANNEL_STATUS_UPDATE: VOICE_CHANNEL_STATUS_UPDATE_TYPE
|
|
62
|
+
VOICE_CHANNEL_EFFECT_SEND: any
|
|
63
|
+
PRESENCE_UPDATE: PRESENCE_UPDATE_TYPE
|
|
64
|
+
MESSAGE_CREATE: MESSAGE_CREATE_TYPE
|
|
65
|
+
MESSAGE_UPDATE: MESSAGE_UPDATE_TYPE
|
|
66
|
+
MESSAGE_DELETE: MESSAGE_DELETE_TYPE
|
|
67
|
+
MESSAGE_DELETE_BULK: any
|
|
68
|
+
MESSAGE_REACTION_ADD: MESSAGE_REACTION_ADD_TYPE
|
|
69
|
+
MESSAGE_REACTION_REMOVE: any
|
|
70
|
+
MESSAGE_REACTION_REMOVE_ALL: any
|
|
71
|
+
MESSAGE_REACTION_REMOVE_EMOJI: any
|
|
72
|
+
TYPING_START: TYPING_START_TYPE
|
|
73
|
+
DIRECT_MESSAGE_CREATE: any
|
|
74
|
+
DIRECT_MESSAGE_UPDATE: any
|
|
75
|
+
DIRECT_MESSAGE_DELETE: any
|
|
76
|
+
DIRECT_MESSAGE_PINS_UPDATE: any
|
|
77
|
+
DIRECT_MESSAGE_REACTION_ADD: any
|
|
78
|
+
DIRECT_MESSAGE_REACTION_REMOVE: any
|
|
79
|
+
DIRECT_MESSAGE_REACTION_REMOVE_ALL: any
|
|
80
|
+
DIRECT_MESSAGE_REACTION_REMOVE_EMOJI: any
|
|
81
|
+
DIRECT_MESSAGE_TYPING_START: any
|
|
82
|
+
GUILD_SCHEDULED_EVENT_CREATE: any
|
|
83
|
+
GUILD_SCHEDULED_EVENT_UPDATE: any
|
|
84
|
+
GUILD_SCHEDULED_EVENT_DELETE: any
|
|
85
|
+
GUILD_SCHEDULED_EVENT_USER_ADD: any
|
|
86
|
+
GUILD_SCHEDULED_EVENT_USER_REMOVE: any
|
|
87
|
+
AUTO_MODERATION_RULE_CREATE: any
|
|
88
|
+
AUTO_MODERATION_RULE_UPDATE: any
|
|
89
|
+
AUTO_MODERATION_RULE_DELETE: any
|
|
90
|
+
AUTO_MODERATION_ACTION_EXECUTION: any
|
|
91
|
+
MESSAGE_POLL_VOTE_ADD: any
|
|
92
|
+
MESSAGE_POLL_VOTE_REMOVE: any
|
|
93
|
+
DIRECT_MESSAGE_POLL_VOTE_ADD: any
|
|
94
|
+
DIRECT_MESSAGE_POLL_VOTE_REMOVE: any
|
|
95
|
+
READY: READY_TYPE
|
|
96
|
+
ERROR: any
|
|
97
|
+
INTERACTION_CREATE: INTERACTION_CREATE_TYPE
|
|
98
|
+
RESUMED: any
|
|
99
|
+
}
|
|
100
100
|
|
|
101
|
-
export type { DCEventMap }
|
|
101
|
+
export type { DCEventMap }
|
package/lib/sdk/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
declare const AvailableIntentsEventsEnum: string[]
|
|
2
|
-
type DCIntentsEnum = (typeof AvailableIntentsEventsEnum)[number]
|
|
1
|
+
declare const AvailableIntentsEventsEnum: string[]
|
|
2
|
+
type DCIntentsEnum = (typeof AvailableIntentsEventsEnum)[number]
|
|
3
3
|
|
|
4
|
-
export { AvailableIntentsEventsEnum }
|
|
5
|
-
export type { DCIntentsEnum }
|
|
4
|
+
export { AvailableIntentsEventsEnum }
|
|
5
|
+
export type { DCIntentsEnum }
|
package/lib/sdk/wss.d.ts
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import { DCAPI } from './api.js'
|
|
2
|
-
import { DISOCRDOptions } from './wss.types.js'
|
|
3
|
-
import { DCEventMap } from './message.js'
|
|
1
|
+
import { DCAPI } from './api.js'
|
|
2
|
+
import { DISOCRDOptions } from './wss.types.js'
|
|
3
|
+
import { DCEventMap } from './message.js'
|
|
4
4
|
|
|
5
5
|
declare class DCClient extends DCAPI {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
6
|
+
#private
|
|
7
|
+
/**
|
|
8
|
+
* 设置配置
|
|
9
|
+
* @param opstion
|
|
10
|
+
*/
|
|
11
|
+
constructor(opstion: DISOCRDOptions)
|
|
12
|
+
/**
|
|
13
|
+
* 注册事件处理程序
|
|
14
|
+
* @param key 事件名称
|
|
15
|
+
* @param val 事件处理函数
|
|
16
|
+
*/
|
|
17
|
+
on<T extends keyof DCEventMap>(key: T, val: (event: DCEventMap[T]) => any): this
|
|
18
|
+
/**
|
|
19
|
+
* 创建ws监听
|
|
20
|
+
* @param conversation
|
|
21
|
+
* @param shard
|
|
22
|
+
* @returns
|
|
23
|
+
*/
|
|
24
|
+
connect(gatewayURL?: string): Promise<void>
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
export { DCClient }
|
|
27
|
+
export { DCClient }
|
package/lib/sdk/wss.types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DCIntentsEnum } from './types.js'
|
|
1
|
+
import { DCIntentsEnum } from './types.js'
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* ****
|
|
@@ -6,25 +6,25 @@ import { DCIntentsEnum } from './types.js';
|
|
|
6
6
|
* ***
|
|
7
7
|
*/
|
|
8
8
|
interface DISOCRDOptions {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
9
|
+
/**
|
|
10
|
+
* 网关地址
|
|
11
|
+
*/
|
|
12
|
+
gatewayURL?: string
|
|
13
|
+
/**
|
|
14
|
+
* 钥匙
|
|
15
|
+
*/
|
|
16
|
+
token: string
|
|
17
|
+
/**
|
|
18
|
+
* 订阅(有默认值)
|
|
19
|
+
* ******
|
|
20
|
+
*/
|
|
21
|
+
intent?: DCIntentsEnum[]
|
|
22
|
+
/**
|
|
23
|
+
* 分片(有默认值)
|
|
24
|
+
* ******
|
|
25
|
+
* [0, 1]
|
|
26
|
+
*/
|
|
27
|
+
shard?: number[]
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
export type { DISOCRDOptions }
|
|
30
|
+
export type { DISOCRDOptions }
|
package/lib/send.js
CHANGED
|
@@ -24,12 +24,6 @@ const createButtonsData = (rows) => {
|
|
|
24
24
|
custom_id: text,
|
|
25
25
|
style: 1,
|
|
26
26
|
label: typeof value == 'object' ? value.title : value
|
|
27
|
-
// action: {
|
|
28
|
-
// // 0 link 1 callback , 2 command
|
|
29
|
-
// type: typeof options.data === 'object' ? 1 : options?.isLink ? 0 : 2,
|
|
30
|
-
// data: options?.data ?? '',
|
|
31
|
-
// enter: options?.autoEnter ?? false
|
|
32
|
-
// }
|
|
33
27
|
};
|
|
34
28
|
})
|
|
35
29
|
};
|
|
@@ -39,6 +33,11 @@ const sendchannel = (client, param, val) => {
|
|
|
39
33
|
if (val.length < 0)
|
|
40
34
|
return Promise.all([]);
|
|
41
35
|
const channel_id = param?.channel_id ?? '';
|
|
36
|
+
// images
|
|
37
|
+
const images = val.filter(item => item.type == 'Image' || item.type == 'ImageURL' || item.type == 'ImageFile');
|
|
38
|
+
// buttons
|
|
39
|
+
const buttons = val.filter(item => item.type == 'BT.group');
|
|
40
|
+
// text
|
|
42
41
|
const content = val
|
|
43
42
|
.filter(item => item.type == 'Mention' || item.type == 'Text' || item.type == 'Link')
|
|
44
43
|
.map(item => {
|
|
@@ -77,35 +76,36 @@ const sendchannel = (client, param, val) => {
|
|
|
77
76
|
}
|
|
78
77
|
})
|
|
79
78
|
.join('');
|
|
80
|
-
if (content) {
|
|
81
|
-
return Promise.all([content].map(item => client.channelsMessages(channel_id, {
|
|
82
|
-
content: item
|
|
83
|
-
})));
|
|
84
|
-
}
|
|
85
|
-
const images = val.filter(item => item.type == 'Image' || item.type == 'ImageURL' || item.type == 'ImageFile');
|
|
86
79
|
if (images.length > 0) {
|
|
80
|
+
let isText = false;
|
|
87
81
|
return Promise.all(images.map(async (item) => {
|
|
82
|
+
// content
|
|
83
|
+
let text = null;
|
|
84
|
+
if (!isText) {
|
|
85
|
+
text = content;
|
|
86
|
+
}
|
|
87
|
+
isText = true;
|
|
88
88
|
if (item.type == 'Image') {
|
|
89
|
-
return client.channelsMessagesImage(channel_id, item.value);
|
|
89
|
+
return client.channelsMessagesImage(channel_id, item.value, { content: text });
|
|
90
90
|
}
|
|
91
91
|
else if (item.type == 'ImageURL') {
|
|
92
|
-
return client.channelsMessagesImage(channel_id, ImageURLToBuffer(item.value)
|
|
92
|
+
return client.channelsMessagesImage(channel_id, await ImageURLToBuffer(item.value), {
|
|
93
|
+
content: text
|
|
94
|
+
});
|
|
93
95
|
}
|
|
94
96
|
else if (item.type == 'ImageFile') {
|
|
95
97
|
const data = readFileSync(item.value);
|
|
96
|
-
return client.channelsMessagesImage(channel_id, data);
|
|
98
|
+
return client.channelsMessagesImage(channel_id, data, { content: text });
|
|
97
99
|
}
|
|
98
100
|
}));
|
|
99
101
|
}
|
|
100
|
-
// buttons
|
|
101
|
-
const buttons = val.filter(item => item.type == 'BT.group');
|
|
102
102
|
if (buttons && buttons.length > 0) {
|
|
103
103
|
return Promise.all(buttons.map(async (item) => {
|
|
104
104
|
const rows = item.value;
|
|
105
105
|
// 构造成按钮
|
|
106
106
|
const data = createButtonsData(rows);
|
|
107
107
|
const res = await client.channelsMessages(channel_id, {
|
|
108
|
-
content:
|
|
108
|
+
content: content,
|
|
109
109
|
components: data
|
|
110
110
|
});
|
|
111
111
|
return createResult(ResultCode.Ok, 'client.groupOpenMessages', {
|
|
@@ -115,90 +115,18 @@ const sendchannel = (client, param, val) => {
|
|
|
115
115
|
createResult(ResultCode.Fail, err?.response?.data ?? err?.message ?? err, null)
|
|
116
116
|
]);
|
|
117
117
|
}
|
|
118
|
-
return Promise.all([]);
|
|
119
|
-
};
|
|
120
|
-
const senduser = async (client, param, val) => {
|
|
121
|
-
if (val.length < 0)
|
|
122
|
-
return Promise.all([]);
|
|
123
|
-
const channel_id = param?.channel_id ?? (await client.userMeChannels(param.author_id))?.id;
|
|
124
|
-
const content = val
|
|
125
|
-
.filter(item => item.type == 'Mention' || item.type == 'Text' || item.type == 'Link')
|
|
126
|
-
.map(item => {
|
|
127
|
-
if (item.type == 'Link') {
|
|
128
|
-
return `[${item.value}](${item?.options?.link ?? item.value})`;
|
|
129
|
-
}
|
|
130
|
-
else if (item.type == 'Mention') {
|
|
131
|
-
if (item.value == 'everyone' ||
|
|
132
|
-
item.value == 'all' ||
|
|
133
|
-
item.value == '' ||
|
|
134
|
-
typeof item.value != 'string') {
|
|
135
|
-
return `<@everyone>`;
|
|
136
|
-
}
|
|
137
|
-
if (item.options?.belong == 'user') {
|
|
138
|
-
return `<@${item.value}>`;
|
|
139
|
-
}
|
|
140
|
-
else if (item.options?.belong == 'channel') {
|
|
141
|
-
return `<#${item.value}>`;
|
|
142
|
-
}
|
|
143
|
-
return '';
|
|
144
|
-
}
|
|
145
|
-
else if (item.type == 'Text') {
|
|
146
|
-
if (item.options?.style == 'block') {
|
|
147
|
-
return `\`${item.value}\``;
|
|
148
|
-
}
|
|
149
|
-
else if (item.options?.style == 'italic') {
|
|
150
|
-
return `*${item.value}*`;
|
|
151
|
-
}
|
|
152
|
-
else if (item.options?.style == 'bold') {
|
|
153
|
-
return `**${item.value}**`;
|
|
154
|
-
}
|
|
155
|
-
else if (item.options?.style == 'strikethrough') {
|
|
156
|
-
return `~~${item.value}~~`;
|
|
157
|
-
}
|
|
158
|
-
return item.value;
|
|
159
|
-
}
|
|
160
|
-
})
|
|
161
|
-
.join('');
|
|
162
118
|
if (content) {
|
|
163
119
|
return Promise.all([content].map(item => client.channelsMessages(channel_id, {
|
|
164
120
|
content: item
|
|
165
121
|
})));
|
|
166
122
|
}
|
|
167
|
-
const images = val.filter(item => item.type == 'Image' || item.type == 'ImageURL' || item.type == 'ImageFile');
|
|
168
|
-
if (images && images.length > 0) {
|
|
169
|
-
return Promise.all(images.map(async (item) => {
|
|
170
|
-
if (item.type == 'Image') {
|
|
171
|
-
return client.channelsMessagesImage(channel_id, item.value);
|
|
172
|
-
}
|
|
173
|
-
else if (item.type == 'ImageURL') {
|
|
174
|
-
return client.channelsMessagesImage(channel_id, ImageURLToBuffer(item.value));
|
|
175
|
-
}
|
|
176
|
-
else if (item.type == 'ImageFile') {
|
|
177
|
-
const data = readFileSync(item.value);
|
|
178
|
-
return client.channelsMessagesImage(channel_id, data);
|
|
179
|
-
}
|
|
180
|
-
}));
|
|
181
|
-
}
|
|
182
|
-
// buttons
|
|
183
|
-
const buttons = val.filter(item => item.type == 'BT.group');
|
|
184
|
-
if (buttons && buttons.length > 0) {
|
|
185
|
-
return Promise.all(buttons.map(async (item) => {
|
|
186
|
-
const rows = item.value;
|
|
187
|
-
// 构造成按钮
|
|
188
|
-
const data = createButtonsData(rows);
|
|
189
|
-
// console.log("data", data)
|
|
190
|
-
const res = await client.channelsMessages(channel_id, {
|
|
191
|
-
content: '',
|
|
192
|
-
components: data
|
|
193
|
-
});
|
|
194
|
-
return createResult(ResultCode.Ok, 'client.groupOpenMessages', {
|
|
195
|
-
id: res.id
|
|
196
|
-
});
|
|
197
|
-
})).catch(err => [
|
|
198
|
-
createResult(ResultCode.Fail, err?.response?.data ?? err?.message ?? err, null)
|
|
199
|
-
]);
|
|
200
|
-
}
|
|
201
123
|
return Promise.all([]);
|
|
202
124
|
};
|
|
125
|
+
const senduser = async (client, param, val) => {
|
|
126
|
+
if (val.length < 0)
|
|
127
|
+
return Promise.all([]);
|
|
128
|
+
const channel_id = param?.channel_id ?? (await client.userMeChannels(param.author_id))?.id;
|
|
129
|
+
return sendchannel(client, { channel_id }, val);
|
|
130
|
+
};
|
|
203
131
|
|
|
204
132
|
export { sendchannel, senduser };
|