@alemonjs/qq-bot 2.1.0-alpha.10 → 2.1.0-alpha.11

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 CHANGED
@@ -46,6 +46,13 @@ qq-bot:
46
46
  # ws: 'ws://[your ip]:17157/websocket'
47
47
  # 3) 自定义模式 (用于连接类官网连接方式的指定服务端)
48
48
  # gatewayURL: 'ws://[your ip]:8080'
49
+ # 其他
50
+ # 使用 user_key
51
+ master_key:
52
+ - 'xxx'
53
+ # 使用 user_id
54
+ master_id:
55
+ - 'yyy'
49
56
  ```
50
57
 
51
58
  ```conf
package/lib/config.js CHANGED
@@ -1,9 +1,20 @@
1
- import { getConfigValue } from 'alemonjs';
1
+ import { getConfigValue, useUserHashKey } from 'alemonjs';
2
2
 
3
3
  const platform = 'qq-bot';
4
4
  const getQQBotConfig = () => {
5
5
  const value = getConfigValue() || {};
6
6
  return value[platform] || {};
7
7
  };
8
+ const getMaster = (UserId) => {
9
+ const config = getQQBotConfig();
10
+ const master_key = config.master_key || [];
11
+ const master_id = config.master_id || [];
12
+ const UserKey = useUserHashKey({
13
+ Platform: platform,
14
+ UserId: UserId
15
+ });
16
+ const is = master_key.includes(UserKey) || master_id.includes(UserId);
17
+ return [is, UserKey];
18
+ };
8
19
 
9
- export { getQQBotConfig, platform };
20
+ export { getMaster, getQQBotConfig, platform };
package/lib/register.js CHANGED
@@ -1,6 +1,6 @@
1
- import { cbpPlatform, useUserHashKey, ResultCode, createResult } from 'alemonjs';
1
+ import { cbpPlatform, ResultCode, createResult } from 'alemonjs';
2
2
  import { GROUP_AT_MESSAGE_CREATE, C2C_MESSAGE_CREATE, DIRECT_MESSAGE_CREATE, AT_MESSAGE_CREATE, MESSAGE_CREATE } from './sends.js';
3
- import { getQQBotConfig, platform } from './config.js';
3
+ import { getQQBotConfig, getMaster, platform } from './config.js';
4
4
 
5
5
  const register = (client) => {
6
6
  const config = getQQBotConfig();
@@ -22,14 +22,9 @@ const register = (client) => {
22
22
  };
23
23
  // 监听消息
24
24
  client.on('GROUP_AT_MESSAGE_CREATE', async (event) => {
25
- const master_key = config?.master_key ?? [];
26
- const isMaster = master_key.includes(event.author.id);
27
- const UserAvatar = createUserAvatarURL(event.author.id);
28
25
  const UserId = event.author.id;
29
- const UserKey = useUserHashKey({
30
- Platform: platform,
31
- UserId: UserId
32
- });
26
+ const [isMaster, UserKey] = getMaster(UserId);
27
+ const UserAvatar = createUserAvatarURL(event.author.id);
33
28
  // 定义消
34
29
  const e = {
35
30
  name: 'message.create',
@@ -55,14 +50,9 @@ const register = (client) => {
55
50
  cbp.send(e);
56
51
  });
57
52
  client.on('C2C_MESSAGE_CREATE', async (event) => {
58
- const master_key = config?.master_key ?? [];
59
- const isMaster = master_key.includes(event.author.id);
60
- const UserAvatar = createUserAvatarURL(event.author.id);
61
53
  const UserId = event.author.id;
62
- const UserKey = useUserHashKey({
63
- Platform: platform,
64
- UserId: UserId
65
- });
54
+ const [isMaster, UserKey] = getMaster(UserId);
55
+ const UserAvatar = createUserAvatarURL(event.author.id);
66
56
  // 定义消
67
57
  const e = {
68
58
  name: 'private.message.create',
@@ -92,15 +82,10 @@ const register = (client) => {
92
82
  // 屏蔽其他机器人的消息
93
83
  if (event?.author?.bot)
94
84
  return;
95
- const master_key = config?.master_key ?? [];
96
- const isMaster = master_key.includes(event.author.id);
97
85
  let msg = event?.content ?? '';
98
86
  const UserAvatar = event?.author?.avatar;
99
87
  const UserId = event.author.id;
100
- const UserKey = useUserHashKey({
101
- Platform: platform,
102
- UserId: UserId
103
- });
88
+ const [isMaster, UserKey] = getMaster(UserId);
104
89
  // 定义消
105
90
  const e = {
106
91
  name: 'private.message.create',
@@ -129,15 +114,10 @@ const register = (client) => {
129
114
  // 屏蔽其他机器人的消息
130
115
  if (event?.author?.bot)
131
116
  return;
132
- const master_key = config?.master_key ?? [];
133
- const isMaster = master_key.includes(event.author.id);
134
117
  let msg = getMessageContent(event);
135
118
  const UserAvatar = event?.author?.avatar;
136
119
  const UserId = event.author.id;
137
- const UserKey = useUserHashKey({
138
- Platform: platform,
139
- UserId: UserId
140
- });
120
+ const [isMaster, UserKey] = getMaster(UserId);
141
121
  // 定义消
142
122
  const e = {
143
123
  name: 'message.create',
@@ -195,15 +175,10 @@ const register = (client) => {
195
175
  // 撤回消息
196
176
  if (new RegExp(/DELETE$/).test(event.eventType))
197
177
  return;
198
- const master_key = config?.master_key ?? [];
199
178
  const UserId = event.author.id;
200
- const isMaster = master_key.includes(UserId);
201
179
  const msg = getMessageContent(event);
202
180
  const UserAvatar = event?.author?.avatar;
203
- const UserKey = useUserHashKey({
204
- Platform: platform,
205
- UserId: UserId
206
- });
181
+ const [isMaster, UserKey] = getMaster(UserId);
207
182
  // 定义消
208
183
  const e = {
209
184
  name: 'message.create',
@@ -241,16 +216,10 @@ const register = (client) => {
241
216
  // } catch (err) {
242
217
  // createResult(ResultCode.Fail, err?.response?.data ?? err?.message ?? err, null)
243
218
  // }
244
- // 如何区分私聊/群聊
245
219
  if (event.scene === 'group') {
246
- const master_key = config?.master_key ?? [];
247
- const isMaster = master_key.includes(event.group_member_openid);
248
220
  const UserAvatar = createUserAvatarURL(event.group_member_openid);
249
221
  const UserId = event.group_member_openid;
250
- const UserKey = useUserHashKey({
251
- Platform: platform,
252
- UserId: UserId
253
- });
222
+ const [isMaster, UserKey] = getMaster(UserId);
254
223
  const MessageText = event.data.resolved.button_data?.trim() || '';
255
224
  const e = {
256
225
  name: 'interaction.create',
@@ -276,14 +245,9 @@ const register = (client) => {
276
245
  cbp.send(e);
277
246
  }
278
247
  else if (event.scene === 'c2c') {
279
- const master_key = config?.master_key ?? [];
280
- const isMaster = master_key.includes(event.user_openid);
281
248
  const UserAvatar = createUserAvatarURL(event.user_openid);
282
249
  const UserId = event.user_openid;
283
- const UserKey = useUserHashKey({
284
- Platform: platform,
285
- UserId: UserId
286
- });
250
+ const [isMaster, UserKey] = getMaster(UserId);
287
251
  const MessageText = event.data.resolved.button_data?.trim() || '';
288
252
  // 处理消息
289
253
  const e = {
@@ -306,14 +270,9 @@ const register = (client) => {
306
270
  cbp.send(e);
307
271
  }
308
272
  else if (event.scene === 'guild') {
309
- const master_key = config?.master_key ?? [];
310
- const isMaster = master_key.includes(event.data.resolved.user_id);
311
273
  const UserAvatar = createUserAvatarURL(event.data.resolved.user_id);
312
274
  const UserId = event.data.resolved.user_id;
313
- const UserKey = useUserHashKey({
314
- Platform: platform,
315
- UserId: UserId
316
- });
275
+ const [isMaster, UserKey] = getMaster(UserId);
317
276
  const MessageText = event.data.resolved.button_data?.trim() || '';
318
277
  // 处理消息
319
278
  const e = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alemonjs/qq-bot",
3
- "version": "2.1.0-alpha.10",
3
+ "version": "2.1.0-alpha.11",
4
4
  "description": "阿柠檬qqbot平台连接",
5
5
  "author": "lemonade",
6
6
  "license": "MIT",