@alemonjs/discord 2.1.0-alpha.5 → 2.1.0-alpha.8

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 (37) hide show
  1. package/README.md +6 -2
  2. package/lib/config.d.ts +3 -0
  3. package/lib/config.js +22 -0
  4. package/lib/index.d.ts +4 -2
  5. package/lib/index.js +25 -40
  6. package/lib/sdk/api.d.ts +879 -965
  7. package/lib/sdk/api.js +61 -35
  8. package/lib/sdk/typings.d.ts +221 -0
  9. package/lib/sdk/wss.js +9 -37
  10. package/lib/send.js +87 -82
  11. package/package.json +1 -1
  12. package/dist/assets/index.css +0 -1248
  13. package/dist/assets/index.js +0 -11015
  14. package/dist/index.html +0 -15
  15. package/lib/sdk/config.js +0 -10
  16. package/lib/sdk/core/config.js +0 -46
  17. package/lib/sdk/core/from.js +0 -42
  18. package/lib/sdk/message/CHANNEL_TOPIC_UPDATE.d.ts +0 -11
  19. package/lib/sdk/message/CHANNEL_UPDATE.d.ts +0 -48
  20. package/lib/sdk/message/GUILD_MEMBER_ADD.d.ts +0 -28
  21. package/lib/sdk/message/GUILD_MEMBER_REMOVE.d.ts +0 -18
  22. package/lib/sdk/message/GUILD_MEMBER_UPDATE.d.ts +0 -33
  23. package/lib/sdk/message/INTERACTION_CREATE.d.ts +0 -126
  24. package/lib/sdk/message/MESSAGE_CREATE.d.ts +0 -59
  25. package/lib/sdk/message/MESSAGE_DELETE.d.ts +0 -11
  26. package/lib/sdk/message/MESSAGE_REACTION_ADD.d.ts +0 -42
  27. package/lib/sdk/message/MESSAGE_UPDATE.d.ts +0 -56
  28. package/lib/sdk/message/PRESENCE_UPDATE.d.ts +0 -69
  29. package/lib/sdk/message/READY.d.ts +0 -9
  30. package/lib/sdk/message/TYPING_START.d.ts +0 -35
  31. package/lib/sdk/message/VOICE_CHANNEL_STATUS_UPDATE.d.ts +0 -10
  32. package/lib/sdk/message/VOICE_STATE_UPDATE.d.ts +0 -41
  33. package/lib/sdk/message.d.ts +0 -101
  34. package/lib/sdk/types.d.ts +0 -5
  35. package/lib/sdk/types.js +0 -25
  36. package/lib/sdk/wss.d.ts +0 -27
  37. package/lib/sdk/wss.types.d.ts +0 -30
package/README.md CHANGED
@@ -18,12 +18,16 @@ yarn add @alemonjs/discord
18
18
  discord:
19
19
  # 令牌
20
20
  token: ''
21
- # 主人
22
- master_key: null
23
21
  # 前缀(非必填)
24
22
  intent: null
25
23
  # 活动 非必填)
26
24
  shard: null
25
+ # 使用 user_key
26
+ master_key:
27
+ - 'xxx'
28
+ # 使用 user_id
29
+ master_id:
30
+ - 'yyy'
27
31
  ```
28
32
 
29
33
  ```sh
@@ -0,0 +1,3 @@
1
+ declare const platform = "discord";
2
+
3
+ export { platform };
package/lib/config.js ADDED
@@ -0,0 +1,22 @@
1
+ import { getConfigValue, useUserHashKey } from 'alemonjs';
2
+
3
+ // 平台
4
+ const platform = 'discord';
5
+ const getDiscordConfigValue = () => {
6
+ const value = getConfigValue() || {};
7
+ const config = value[platform] || {};
8
+ return config;
9
+ };
10
+ const getMaster = (UserId) => {
11
+ const config = getDiscordConfigValue();
12
+ const master_key = config.master_key || [];
13
+ const master_id = config.master_id || [];
14
+ const UserKey = useUserHashKey({
15
+ Platform: platform,
16
+ UserId: UserId
17
+ });
18
+ const is = master_key.includes(UserKey) || master_id.includes(UserId);
19
+ return [is, UserKey];
20
+ };
21
+
22
+ export { getDiscordConfigValue, getMaster, platform };
package/lib/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
- declare const platform = "discord";
1
+ export { platform } from './config.js';
2
+ export { DCAPI as API } from './sdk/api.js';
3
+
2
4
  declare const _default: () => void;
3
5
 
4
- export { _default as default, platform };
6
+ export { _default as default };
package/lib/index.js CHANGED
@@ -1,30 +1,24 @@
1
1
  import './env.js';
2
- import { getConfigValue, cbpPlatform, useUserHashKey, createResult, ResultCode } from 'alemonjs';
2
+ import { cbpPlatform, createResult, ResultCode } from 'alemonjs';
3
3
  import { sendchannel, senduser } from './send.js';
4
4
  import { DCClient } from './sdk/wss.js';
5
- import { AvailableIntentsEventsEnum } from './sdk/types.js';
5
+ import { getDiscordConfigValue, getMaster, platform } from './config.js';
6
+ export { DCAPI as API } from './sdk/api.js';
6
7
 
7
- const platform = 'discord';
8
+ // main
8
9
  var index = () => {
9
- let value = getConfigValue();
10
- if (!value)
11
- value = {};
12
- const config = value[platform];
13
- // 创建客户端
14
- const client = new DCClient({
15
- gatewayURL: config?.gatewayURL,
16
- token: config.token,
17
- shard: config?.shard ?? [0, 1],
18
- intent: config?.intent ?? AvailableIntentsEventsEnum
19
- });
10
+ const value = getDiscordConfigValue();
11
+ const port = process.env?.port || value?.port || 17117;
20
12
  /**
21
13
  * 连接 alemonjs 服务器。
22
14
  * 向 alemonjs 推送标准信息
23
15
  */
24
- const url = `ws://127.0.0.1:${process.env?.port || config?.port || 17117}`;
16
+ const url = `ws://127.0.0.1:${port}`;
25
17
  const cbp = cbpPlatform(url);
18
+ // 创建客户端
19
+ const client = new DCClient();
26
20
  // 连接
27
- client.connect(config?.gatewayURL);
21
+ client.connect();
28
22
  /**
29
23
  * 创建用户头像
30
24
  * @param UserId
@@ -53,12 +47,7 @@ var index = () => {
53
47
  msg = msg.replace(`<@${item.id}>`, '').trim();
54
48
  }
55
49
  const UserId = event.author.id;
56
- const UserKey = useUserHashKey({
57
- Platform: platform,
58
- UserId: UserId
59
- });
60
- const master_key = config?.master_key ?? [];
61
- const isMaster = master_key.includes(UserKey);
50
+ const [isMaster, UserKey] = getMaster(UserId);
62
51
  const UserAvatar = createUserAvatar(UserId, event.author.avatar);
63
52
  if (event.type == 0 && event.member) {
64
53
  const e = {
@@ -68,6 +57,7 @@ var index = () => {
68
57
  // guild
69
58
  GuildId: event.guild_id,
70
59
  ChannelId: event.channel_id,
60
+ SpaceId: event.channel_id,
71
61
  // user
72
62
  UserId: UserId,
73
63
  UserKey,
@@ -92,9 +82,6 @@ var index = () => {
92
82
  name: 'private.message.create',
93
83
  // 事件类型
94
84
  Platform: platform,
95
- // guild
96
- // GuildId: event.guild_id,
97
- // ChannelId: event.channel_id,
98
85
  // user
99
86
  UserId: UserId,
100
87
  UserKey,
@@ -116,18 +103,12 @@ var index = () => {
116
103
  else ;
117
104
  });
118
105
  client.on('INTERACTION_CREATE', event => {
119
- console.log('event', event);
120
106
  const isPrivate = typeof event['user'] === 'object' ? true : false;
121
107
  const user = isPrivate ? event['user'] : event['member'].user;
122
108
  const UserId = user.id;
123
- const UserKey = useUserHashKey({
124
- Platform: platform,
125
- UserId: UserId
126
- });
127
109
  const UserAvatar = createUserAvatar(UserId, user.avatar);
128
110
  const UserName = user.username;
129
- const master_key = config?.master_key ?? [];
130
- const isMaster = master_key.includes(UserKey);
111
+ const [isMaster, UserKey] = getMaster(UserId);
131
112
  const MessageText = event.data.custom_id;
132
113
  if (isPrivate) {
133
114
  // 处理消息
@@ -164,6 +145,7 @@ var index = () => {
164
145
  // guild
165
146
  GuildId: event['guild_id'],
166
147
  ChannelId: event.channel_id,
148
+ SpaceId: event.channel_id,
167
149
  // user
168
150
  UserId: UserId,
169
151
  UserKey,
@@ -240,17 +222,11 @@ var index = () => {
240
222
  const MessageMention = event.mentions.map(item => {
241
223
  const UserId = item.id;
242
224
  const avatar = event.author.avatar;
243
- const value = getConfigValue();
244
- const config = value?.discord;
245
- const master_key = config?.master_key ?? [];
246
225
  const UserAvatar = createUserAvatar(UserId, avatar);
247
- const UserKey = useUserHashKey({
248
- Platform: platform,
249
- UserId: UserId
250
- });
226
+ const [isMaster, UserKey] = getMaster(UserId);
251
227
  return {
252
228
  UserId: item.id,
253
- IsMaster: master_key.includes(UserId),
229
+ IsMaster: isMaster,
254
230
  IsBot: item.bot,
255
231
  UserAvatar,
256
232
  UserKey
@@ -285,6 +261,15 @@ var index = () => {
285
261
  consume([createResult(ResultCode.Ok, '请求完成', res)]);
286
262
  }
287
263
  });
264
+ cbp.onapis(async (data, consume) => {
265
+ const key = data.payload?.key;
266
+ if (client[key]) {
267
+ // 如果 client 上有对应的 key,直接调用。
268
+ const params = data.payload.params;
269
+ const res = await client[key](...params);
270
+ consume([createResult(ResultCode.Ok, '请求完成', res)]);
271
+ }
272
+ });
288
273
  };
289
274
 
290
275
  export { index as default, platform };