node-karin 0.6.21 → 0.6.22

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 (48) hide show
  1. package/lib/adapter/input/index.js +5 -5
  2. package/lib/adapter/kritor/grpc.js +59 -59
  3. package/lib/adapter/onebot/11/convert.js +16 -17
  4. package/lib/adapter/onebot/11/event.js +21 -21
  5. package/lib/adapter/onebot/11/index.js +50 -52
  6. package/lib/cli/init.js +1 -20
  7. package/lib/cli/restart.js +10 -0
  8. package/lib/cli/start.d.ts +2 -0
  9. package/lib/cli/start.js +10 -0
  10. package/lib/cli/stop.d.ts +2 -0
  11. package/lib/cli/stop.js +10 -0
  12. package/lib/cli/up.d.ts +0 -0
  13. package/lib/cli/up.js +1 -0
  14. package/lib/core/init.js +8 -0
  15. package/lib/core/karin.js +2 -3
  16. package/lib/core/plugin.app.js +1 -2
  17. package/lib/core/plugin.js +1 -2
  18. package/lib/core/plugin.loader.d.ts +7 -16
  19. package/lib/core/plugin.loader.js +100 -146
  20. package/lib/core/process.js +3 -3
  21. package/lib/core/server.js +2 -5
  22. package/lib/event/notice.handler.js +16 -17
  23. package/lib/event/request.handler.js +3 -4
  24. package/lib/types/event/contact.d.ts +1 -1
  25. package/lib/types/event/contact.js +1 -13
  26. package/lib/types/event/event.d.ts +5 -5
  27. package/lib/types/event/event.js +1 -234
  28. package/lib/types/event/notice.js +1 -2
  29. package/lib/types/event/request.js +1 -2
  30. package/lib/types/event/sender.d.ts +2 -2
  31. package/lib/types/event/sender.js +1 -22
  32. package/lib/types/onebot11/api.d.ts +1 -1
  33. package/lib/types/onebot11/api.js +1 -54
  34. package/lib/types/onebot11/event.d.ts +5 -5
  35. package/lib/types/onebot11/event.js +1 -55
  36. package/lib/types/onebot11/params.d.ts +1 -1
  37. package/lib/types/onebot11/params.js +1 -7
  38. package/lib/types/onebot11/response.js +1 -1
  39. package/lib/types/onebot11/segment.d.ts +1 -1
  40. package/lib/types/onebot11/segment.js +1 -30
  41. package/lib/utils/common.d.ts +2 -3
  42. package/lib/utils/common.js +6 -6
  43. package/lib/utils/init.d.ts +1 -1
  44. package/lib/utils/init.js +25 -20
  45. package/package.json +11 -22
  46. package/lib/cli/postinstall.js +0 -25
  47. package/pnpm-workspace.yaml +0 -2
  48. /package/lib/cli/{postinstall.d.ts → restart.d.ts} +0 -0
@@ -1,5 +1,5 @@
1
1
  import { listener } from '../../../core/index.js';
2
- import { EventType, KarinMessage, KarinNotice, KarinRequest, MessageSubType, NoticeSubType, RequestSubType, Role, Scene } from '../../../types/index.js';
2
+ import { KarinMessage, KarinNotice, KarinRequest } from '../../../types/index.js';
3
3
  export class OB11Event {
4
4
  adapter;
5
5
  constructor(adapter) {
@@ -50,9 +50,9 @@ export class OB11Event {
50
50
  */
51
51
  messageEvent(data) {
52
52
  const message = {
53
- event: EventType.Message,
53
+ event: "message" /* EventType.Message */,
54
54
  event_id: data.message_id + '',
55
- sub_event: data.sub_type === 'friend' ? MessageSubType.PrivateMessage : MessageSubType.GroupMessage,
55
+ sub_event: data.sub_type === 'friend' ? "private_message" /* MessageSubType.PrivateMessage */ : "group_message" /* MessageSubType.GroupMessage */,
56
56
  raw_event: data,
57
57
  self_id: data.self_id + '',
58
58
  user_id: data.sender.user_id + '',
@@ -64,11 +64,11 @@ export class OB11Event {
64
64
  uid: data.sender.user_id + '',
65
65
  uin: data.sender.user_id + '',
66
66
  nick: data.sender.nickname || '',
67
- role: ('role' in data.sender ? data.sender.role || Role.Unknown : Role.Unknown),
67
+ role: ('role' in data.sender ? data.sender.role || "unknown" /* Role.Unknown */ : "unknown" /* Role.Unknown */),
68
68
  },
69
69
  elements: this.adapter.AdapterConvertKarin(data.message),
70
70
  contact: {
71
- scene: data.message_type === 'private' ? Scene.Private : Scene.Group,
71
+ scene: data.message_type === 'private' ? "friend" /* Scene.Private */ : "group" /* Scene.Group */,
72
72
  peer: data.message_type === 'private' ? data.sender.user_id : data.group_id,
73
73
  sub_peer: '',
74
74
  },
@@ -96,7 +96,7 @@ export class OB11Event {
96
96
  uid: data.user_id + '',
97
97
  uin: data.user_id + '',
98
98
  nick: '',
99
- role: Role.Unknown,
99
+ role: "unknown" /* Role.Unknown */,
100
100
  };
101
101
  const contact = {
102
102
  scene: ('group_id' in data ? 'group' : 'friend'),
@@ -128,7 +128,7 @@ export class OB11Event {
128
128
  sender,
129
129
  contact,
130
130
  group_id,
131
- sub_event: NoticeSubType.GroupFileUploaded,
131
+ sub_event: "group_file_uploaded" /* NoticeSubType.GroupFileUploaded */,
132
132
  };
133
133
  notice = new KarinNotice(options);
134
134
  break;
@@ -152,7 +152,7 @@ export class OB11Event {
152
152
  contact,
153
153
  content,
154
154
  group_id,
155
- sub_event: NoticeSubType.GroupAdminChanged,
155
+ sub_event: "group_admin_changed" /* NoticeSubType.GroupAdminChanged */,
156
156
  };
157
157
  notice = new KarinNotice(options);
158
158
  break;
@@ -178,7 +178,7 @@ export class OB11Event {
178
178
  contact,
179
179
  content,
180
180
  group_id,
181
- sub_event: NoticeSubType.GroupMemberDecrease,
181
+ sub_event: "group_member_decrease" /* NoticeSubType.GroupMemberDecrease */,
182
182
  };
183
183
  notice = new KarinNotice(options);
184
184
  break;
@@ -204,7 +204,7 @@ export class OB11Event {
204
204
  contact,
205
205
  content,
206
206
  group_id,
207
- sub_event: NoticeSubType.GroupMemberIncrease,
207
+ sub_event: "group_member_increase" /* NoticeSubType.GroupMemberIncrease */,
208
208
  };
209
209
  notice = new KarinNotice(options);
210
210
  break;
@@ -231,7 +231,7 @@ export class OB11Event {
231
231
  contact,
232
232
  content,
233
233
  group_id,
234
- sub_event: NoticeSubType.GroupMemberBan,
234
+ sub_event: "group_member_ban" /* NoticeSubType.GroupMemberBan */,
235
235
  };
236
236
  notice = new KarinNotice(options);
237
237
  break;
@@ -261,7 +261,7 @@ export class OB11Event {
261
261
  contact,
262
262
  content,
263
263
  group_id,
264
- sub_event: NoticeSubType.GroupRecall,
264
+ sub_event: "group_recall" /* NoticeSubType.GroupRecall */,
265
265
  };
266
266
  notice = new KarinNotice(options);
267
267
  break;
@@ -282,7 +282,7 @@ export class OB11Event {
282
282
  sender,
283
283
  contact,
284
284
  content,
285
- sub_event: NoticeSubType.PrivateRecall,
285
+ sub_event: "private_recall" /* NoticeSubType.PrivateRecall */,
286
286
  };
287
287
  notice = new KarinNotice(options);
288
288
  break;
@@ -311,7 +311,7 @@ export class OB11Event {
311
311
  contact,
312
312
  content,
313
313
  group_id,
314
- sub_event: data.group_id ? NoticeSubType.GroupPoke : NoticeSubType.PrivatePoke,
314
+ sub_event: data.group_id ? "group_poke" /* NoticeSubType.GroupPoke */ : "private_poke" /* NoticeSubType.PrivatePoke */,
315
315
  };
316
316
  notice = new KarinNotice(options);
317
317
  break;
@@ -344,7 +344,7 @@ export class OB11Event {
344
344
  contact,
345
345
  content,
346
346
  group_id,
347
- sub_event: NoticeSubType.GroupMessageReaction,
347
+ sub_event: "group_message_reaction" /* NoticeSubType.GroupMessageReaction */,
348
348
  };
349
349
  notice = new KarinNotice(options);
350
350
  break;
@@ -366,7 +366,7 @@ export class OB11Event {
366
366
  user_id: data.user_id + '',
367
367
  time: data.time,
368
368
  contact: {
369
- scene: Scene.Private,
369
+ scene: "friend" /* Scene.Private */,
370
370
  peer: data.user_id + '',
371
371
  sub_peer: '',
372
372
  },
@@ -374,9 +374,9 @@ export class OB11Event {
374
374
  uid: data.user_id + '',
375
375
  uin: data.user_id + '',
376
376
  nick: '',
377
- role: Role.Unknown,
377
+ role: "unknown" /* Role.Unknown */,
378
378
  },
379
- sub_event: RequestSubType.PrivateApply,
379
+ sub_event: "private_apply" /* RequestSubType.PrivateApply */,
380
380
  content: {
381
381
  applier_uid: data.user_id + '',
382
382
  applier_uin: data.user_id + '',
@@ -394,7 +394,7 @@ export class OB11Event {
394
394
  user_id: data.user_id + '',
395
395
  time: data.time,
396
396
  contact: {
397
- scene: Scene.Group,
397
+ scene: "group" /* Scene.Group */,
398
398
  peer: data.group_id + '',
399
399
  sub_peer: '',
400
400
  },
@@ -402,9 +402,9 @@ export class OB11Event {
402
402
  uid: data.user_id + '',
403
403
  uin: data.user_id + '',
404
404
  nick: '',
405
- role: Role.Unknown,
405
+ role: "unknown" /* Role.Unknown */,
406
406
  },
407
- sub_event: data.sub_type === 'add' ? RequestSubType.GroupApply : RequestSubType.InvitedGroup,
407
+ sub_event: data.sub_type === 'add' ? "group_apply" /* RequestSubType.GroupApply */ : "invited_group" /* RequestSubType.InvitedGroup */,
408
408
  content: {
409
409
  group_id: data.group_id + '',
410
410
  applier_uid: data.user_id + '',
@@ -2,8 +2,6 @@ import WebSocket from 'ws';
2
2
  import { randomUUID } from 'crypto';
3
3
  import { listener } from '../../../core/listener.js';
4
4
  import { common, config, logger, segment } from '../../../utils/index.js';
5
- import { MessageType, OB11Api, OB11SegmentType, Role } from '../../../types/index.js';
6
- import { Scene, } from '../../../types/index.js';
7
5
  import { OB11Event } from './event.js';
8
6
  import { AdapterConvertKarin, KarinConvertAdapter } from './convert.js';
9
7
  /**
@@ -113,7 +111,7 @@ export class AdapterOneBot11 {
113
111
  }
114
112
  catch (e) {
115
113
  /** 兼容onebots */
116
- const { app_name, version } = await this.SendApi(OB11Api['get_version']);
114
+ const { app_name, version } = await this.SendApi("get_version" /* OB11Api['get_version'] */);
117
115
  this.version.name = app_name;
118
116
  this.version.app_name = app_name;
119
117
  this.version.version = version;
@@ -176,16 +174,16 @@ export class AdapterOneBot11 {
176
174
  async SendMessage(contact, elements) {
177
175
  const { scene, peer } = contact;
178
176
  let res;
179
- if (scene === Scene.Group) {
180
- res = await this.SendApi(OB11Api['send_msg'], {
181
- message_type: MessageType.Group,
177
+ if (scene === "group" /* Scene.Group */) {
178
+ res = await this.SendApi("send_msg" /* OB11Api['send_msg'] */, {
179
+ message_type: "group" /* MessageType.Group */,
182
180
  group_id: Number(peer),
183
181
  message: this.KarinConvertAdapter(elements),
184
182
  });
185
183
  }
186
184
  else {
187
- res = await this.SendApi(OB11Api['send_msg'], {
188
- message_type: MessageType.Private,
185
+ res = await this.SendApi("send_msg" /* OB11Api['send_msg'] */, {
186
+ message_type: "private" /* MessageType.Private */,
189
187
  user_id: Number(peer),
190
188
  message: this.KarinConvertAdapter(elements),
191
189
  });
@@ -222,7 +220,7 @@ export class AdapterOneBot11 {
222
220
  }
223
221
  }
224
222
  const params = { [message_type]: String(peer), messages };
225
- return await this.SendApi(OB11Api['send_forward_msg'], params);
223
+ return await this.SendApi("send_forward_msg" /* OB11Api['send_forward_msg'] */, params);
226
224
  }
227
225
  /**
228
226
  * 通过资源id发送转发消息
@@ -232,18 +230,18 @@ export class AdapterOneBot11 {
232
230
  async SendMessageByResId(contact, id) {
233
231
  let res;
234
232
  const { scene, peer } = contact;
235
- if (scene === Scene.Group) {
236
- res = await this.SendApi(OB11Api['send_msg'], {
237
- message_type: MessageType.Group,
233
+ if (scene === "group" /* Scene.Group */) {
234
+ res = await this.SendApi("send_msg" /* OB11Api['send_msg'] */, {
235
+ message_type: "group" /* MessageType.Group */,
238
236
  group_id: Number(peer),
239
- message: [{ type: OB11SegmentType.Forward, data: { id } }],
237
+ message: [{ type: "forward" /* OB11SegmentType.Forward */, data: { id } }],
240
238
  });
241
239
  }
242
240
  else {
243
- res = await this.SendApi(OB11Api['send_msg'], {
244
- message_type: MessageType.Private,
241
+ res = await this.SendApi("send_msg" /* OB11Api['send_msg'] */, {
242
+ message_type: "private" /* MessageType.Private */,
245
243
  user_id: Number(peer),
246
- message: [{ type: OB11SegmentType.Forward, data: { id } }],
244
+ message: [{ type: "forward" /* OB11SegmentType.Forward */, data: { id } }],
247
245
  });
248
246
  }
249
247
  return { message_id: String(res.message_id), message_time: Date.now() };
@@ -255,7 +253,7 @@ export class AdapterOneBot11 {
255
253
  */
256
254
  async RecallMessage(_contact, message_id) {
257
255
  try {
258
- await this.SendApi(OB11Api['delete_msg'], { message_id: Number(message_id) });
256
+ await this.SendApi("delete_msg" /* OB11Api['delete_msg'] */, { message_id: Number(message_id) });
259
257
  return true;
260
258
  }
261
259
  catch {
@@ -268,20 +266,20 @@ export class AdapterOneBot11 {
268
266
  * @param message_id - 消息ID
269
267
  */
270
268
  async GetMessage(contact, message_id) {
271
- const res = await this.SendApi(OB11Api['get_msg'], { message_id: Number(message_id) });
269
+ const res = await this.SendApi("get_msg" /* OB11Api['get_msg'] */, { message_id: Number(message_id) });
272
270
  return {
273
271
  time: res.time,
274
272
  message_id: res.message_id + '',
275
273
  message_seq: res.message_id,
276
274
  contact: {
277
- scene: res.message_type === 'group' ? Scene.Group : Scene.Private,
275
+ scene: res.message_type === 'group' ? "group" /* Scene.Group */ : "friend" /* Scene.Private */,
278
276
  peer: contact.peer, // 这里可能不准确 传入是什么就返回什么
279
277
  },
280
278
  sender: {
281
279
  uid: res.sender.user_id,
282
280
  uin: res.sender.user_id,
283
281
  nick: res.sender.nickname,
284
- role: Role.Unknown,
282
+ role: "unknown" /* Role.Unknown */,
285
283
  },
286
284
  elements: this.AdapterConvertKarin(res.message),
287
285
  };
@@ -303,15 +301,15 @@ export class AdapterOneBot11 {
303
301
  let res;
304
302
  if (contact.scene === 'group') {
305
303
  options.group_id = Number(contact.peer);
306
- res = await this.SendApi(OB11Api['get_group_msg_history'], options);
304
+ res = await this.SendApi("get_group_msg_history" /* OB11Api['get_group_msg_history'] */, options);
307
305
  }
308
306
  else {
309
307
  options.user_id = Number(contact.peer);
310
- res = await this.SendApi(OB11Api['get_friend_msg_history'], options);
308
+ res = await this.SendApi("get_friend_msg_history" /* OB11Api['get_friend_msg_history'] */, options);
311
309
  }
312
310
  const all = [];
313
311
  const elements = this.AdapterConvertKarin(res);
314
- const scene = contact.scene === 'group' ? Scene.Group : Scene.Private;
312
+ const scene = contact.scene === 'group' ? "group" /* Scene.Group */ : "friend" /* Scene.Private */;
315
313
  for (const v of elements) {
316
314
  all.push({
317
315
  time: Date.now(),
@@ -326,7 +324,7 @@ export class AdapterOneBot11 {
326
324
  uid: '',
327
325
  uin: '',
328
326
  nick: '',
329
- role: Role.Unknown,
327
+ role: "unknown" /* Role.Unknown */,
330
328
  },
331
329
  elements: [v],
332
330
  });
@@ -341,7 +339,7 @@ export class AdapterOneBot11 {
341
339
  async VoteUser(target_uid_or_uin, vote_count = 10) {
342
340
  const user_id = Number(target_uid_or_uin);
343
341
  try {
344
- await this.SendApi(OB11Api['send_like'], { user_id, times: vote_count });
342
+ await this.SendApi("send_like" /* OB11Api['send_like'] */, { user_id, times: vote_count });
345
343
  return true;
346
344
  }
347
345
  catch {
@@ -354,7 +352,7 @@ export class AdapterOneBot11 {
354
352
  async KickMember(group_id, target_uid_or_uin, reject_add_request = false, kick_reason = '') {
355
353
  const user_id = Number(target_uid_or_uin);
356
354
  try {
357
- await this.SendApi(OB11Api['set_group_kick'], { group_id: Number(group_id), user_id, reject_add_request });
355
+ await this.SendApi("set_group_kick" /* OB11Api['set_group_kick'] */, { group_id: Number(group_id), user_id, reject_add_request });
358
356
  return true;
359
357
  }
360
358
  catch {
@@ -370,7 +368,7 @@ export class AdapterOneBot11 {
370
368
  async BanMember(group_id, target_uid_or_uin, duration) {
371
369
  const user_id = Number(target_uid_or_uin);
372
370
  try {
373
- await this.SendApi(OB11Api['set_group_ban'], { group_id: Number(group_id), user_id, duration });
371
+ await this.SendApi("set_group_ban" /* OB11Api['set_group_ban'] */, { group_id: Number(group_id), user_id, duration });
374
372
  return true;
375
373
  }
376
374
  catch {
@@ -384,7 +382,7 @@ export class AdapterOneBot11 {
384
382
  */
385
383
  async SetGroupWholeBan(group_id, is_ban = true) {
386
384
  try {
387
- await this.SendApi(OB11Api['set_group_whole_ban'], { group_id: Number(group_id), enable: is_ban });
385
+ await this.SendApi("set_group_whole_ban" /* OB11Api['set_group_whole_ban'] */, { group_id: Number(group_id), enable: is_ban });
388
386
  return true;
389
387
  }
390
388
  catch {
@@ -400,7 +398,7 @@ export class AdapterOneBot11 {
400
398
  async SetGroupAdmin(group_id, target_uid_or_uin, is_admin) {
401
399
  try {
402
400
  const user_id = Number(target_uid_or_uin);
403
- await this.SendApi(OB11Api['set_group_admin'], { group_id: Number(group_id), user_id, enable: is_admin });
401
+ await this.SendApi("set_group_admin" /* OB11Api['set_group_admin'] */, { group_id: Number(group_id), user_id, enable: is_admin });
404
402
  return true;
405
403
  }
406
404
  catch {
@@ -416,7 +414,7 @@ export class AdapterOneBot11 {
416
414
  async ModifyMemberCard(group_id, target_uid_or_uin, card) {
417
415
  try {
418
416
  const user_id = Number(target_uid_or_uin);
419
- await this.SendApi(OB11Api['set_group_card'], { group_id: Number(group_id), user_id, card });
417
+ await this.SendApi("set_group_card" /* OB11Api['set_group_card'] */, { group_id: Number(group_id), user_id, card });
420
418
  return true;
421
419
  }
422
420
  catch {
@@ -430,7 +428,7 @@ export class AdapterOneBot11 {
430
428
  */
431
429
  async ModifyGroupName(group_id, group_name) {
432
430
  try {
433
- await this.SendApi(OB11Api['set_group_name'], { group_id: Number(group_id), group_name });
431
+ await this.SendApi("set_group_name" /* OB11Api['set_group_name'] */, { group_id: Number(group_id), group_name });
434
432
  return true;
435
433
  }
436
434
  catch {
@@ -444,7 +442,7 @@ export class AdapterOneBot11 {
444
442
  */
445
443
  async LeaveGroup(group_id, is_dismiss = false) {
446
444
  try {
447
- await this.SendApi(OB11Api['set_group_leave'], { group_id: Number(group_id), is_dismiss });
445
+ await this.SendApi("set_group_leave" /* OB11Api['set_group_leave'] */, { group_id: Number(group_id), is_dismiss });
448
446
  }
449
447
  catch {
450
448
  return false;
@@ -461,7 +459,7 @@ export class AdapterOneBot11 {
461
459
  const special_title = unique_title;
462
460
  const duration = -1;
463
461
  try {
464
- await this.SendApi(OB11Api['set_group_special_title'], { group_id: Number(group_id), user_id, special_title, duration });
462
+ await this.SendApi("set_group_special_title" /* OB11Api['set_group_special_title'] */, { group_id: Number(group_id), user_id, special_title, duration });
465
463
  }
466
464
  catch {
467
465
  return false;
@@ -471,7 +469,7 @@ export class AdapterOneBot11 {
471
469
  * 获取登录号信息
472
470
  */
473
471
  async GetCurrentAccount() {
474
- const res = await this.SendApi(OB11Api['get_login_info']);
472
+ const res = await this.SendApi("get_login_info" /* OB11Api['get_login_info'] */);
475
473
  return {
476
474
  account_uid: res.user_id + '',
477
475
  account_uin: res.user_id + '',
@@ -484,7 +482,7 @@ export class AdapterOneBot11 {
484
482
  */
485
483
  async GetStrangerProfileCard(target_uid_or_uin) {
486
484
  const user_id = Number(target_uid_or_uin[0]);
487
- const res = await this.SendApi(OB11Api['get_stranger_info'], { user_id, no_cache: true });
485
+ const res = await this.SendApi("get_stranger_info" /* OB11Api['get_stranger_info'] */, { user_id, no_cache: true });
488
486
  return [
489
487
  {
490
488
  /**
@@ -566,7 +564,7 @@ export class AdapterOneBot11 {
566
564
  * 获取好友列表
567
565
  */
568
566
  async GetFriendList() {
569
- const friendList = await this.SendApi(OB11Api['get_friend_list']);
567
+ const friendList = await this.SendApi("get_friend_list" /* OB11Api['get_friend_list'] */);
570
568
  return friendList.map(v => {
571
569
  const user_id = v.user_id + '';
572
570
  return {
@@ -651,7 +649,7 @@ export class AdapterOneBot11 {
651
649
  * @param no_cache - 是否不使用缓存
652
650
  */
653
651
  async GetGroupInfo(group_id, no_cache = false) {
654
- const info = await this.SendApi(OB11Api['get_group_info'], { group_id: Number(group_id), no_cache });
652
+ const info = await this.SendApi("get_group_info" /* OB11Api['get_group_info'] */, { group_id: Number(group_id), no_cache });
655
653
  const groupId = info.group_id + '';
656
654
  const groupName = info.group_name;
657
655
  // todo 可以走群成员列表获取群主
@@ -670,7 +668,7 @@ export class AdapterOneBot11 {
670
668
  * 获取群列表
671
669
  */
672
670
  async GetGroupList() {
673
- const groupList = await this.SendApi(OB11Api['get_group_list']);
671
+ const groupList = await this.SendApi("get_group_list" /* OB11Api['get_group_list'] */);
674
672
  return groupList.map(v => {
675
673
  const groupId = v.group_id + '';
676
674
  const groupName = v.group_name;
@@ -694,7 +692,7 @@ export class AdapterOneBot11 {
694
692
  */
695
693
  async GetGroupMemberInfo(group_id, target_uid_or_uin, refresh = false) {
696
694
  const user_id = Number(target_uid_or_uin);
697
- const info = await this.SendApi(OB11Api['get_group_member_info'], { group_id: Number(group_id), user_id, no_cache: refresh });
695
+ const info = await this.SendApi("get_group_member_info" /* OB11Api['get_group_member_info'] */, { group_id: Number(group_id), user_id, no_cache: refresh });
698
696
  return {
699
697
  uid: target_uid_or_uin,
700
698
  uin: target_uid_or_uin,
@@ -719,7 +717,7 @@ export class AdapterOneBot11 {
719
717
  * @param refresh - 是否刷新缓存,默认为 false
720
718
  */
721
719
  async GetGroupMemberList(group_id, refresh = false) {
722
- const gl = await this.SendApi(OB11Api['get_group_member_list'], { group_id: Number(group_id), no_cache: refresh });
720
+ const gl = await this.SendApi("get_group_member_list" /* OB11Api['get_group_member_list'] */, { group_id: Number(group_id), no_cache: refresh });
723
721
  return gl.map(v => {
724
722
  const user_id = v.user_id + '';
725
723
  return {
@@ -745,7 +743,7 @@ export class AdapterOneBot11 {
745
743
  * 获取群荣誉信息
746
744
  */
747
745
  async GetGroupHonor(group_id, refresh = false) {
748
- const groupHonor = await this.SendApi(OB11Api['get_group_honor_info'], { group_id: Number(group_id), type: 'all' });
746
+ const groupHonor = await this.SendApi("get_group_honor_info" /* OB11Api['get_group_honor_info'] */, { group_id: Number(group_id), type: 'all' });
749
747
  const result = [];
750
748
  groupHonor.talkative_list.forEach(honor => {
751
749
  const user_id = honor.user_id + '';
@@ -817,7 +815,7 @@ export class AdapterOneBot11 {
817
815
  */
818
816
  async ReactMessageWithEmoji(contact, message_id, face_id, is_set = true) {
819
817
  try {
820
- await this.SendApi(OB11Api['set_msg_emoji_like'], { message_id, emoji_id: face_id, is_set });
818
+ await this.SendApi("set_msg_emoji_like" /* OB11Api['set_msg_emoji_like'] */, { message_id, emoji_id: face_id, is_set });
821
819
  return true;
822
820
  }
823
821
  catch {
@@ -828,7 +826,7 @@ export class AdapterOneBot11 {
828
826
  * 获取版本信息
829
827
  */
830
828
  async GetVersion() {
831
- const res = await this.SendApi(OB11Api['get_version_info']);
829
+ const res = await this.SendApi("get_version_info" /* OB11Api['get_version_info'] */);
832
830
  return {
833
831
  name: res.app_name,
834
832
  app_name: res.app_name,
@@ -844,9 +842,9 @@ export class AdapterOneBot11 {
844
842
  */
845
843
  async GetEssenceMessageList(group_id, page, page_size) {
846
844
  const list = [];
847
- const res = await this.SendApi(OB11Api['get_essence_msg_list'], { group_id: Number(group_id) });
845
+ const res = await this.SendApi("get_essence_msg_list" /* OB11Api['get_essence_msg_list'] */, { group_id: Number(group_id) });
848
846
  for (const v of res) {
849
- const { message_seq, elements } = await this.GetMessage({ scene: Scene.Group, peer: group_id }, v.message_id + '');
847
+ const { message_seq, elements } = await this.GetMessage({ scene: "group" /* Scene.Group */, peer: group_id }, v.message_id + '');
850
848
  list.push({
851
849
  /**
852
850
  * - 群ID
@@ -909,7 +907,7 @@ export class AdapterOneBot11 {
909
907
  */
910
908
  async UploadGroupFile(group_id, file, name, folder) {
911
909
  try {
912
- await this.SendApi(OB11Api['upload_group_file'], { group_id: Number(group_id), file, name, folder });
910
+ await this.SendApi("upload_group_file" /* OB11Api['upload_group_file'] */, { group_id: Number(group_id), file, name, folder });
913
911
  return true;
914
912
  }
915
913
  catch {
@@ -924,7 +922,7 @@ export class AdapterOneBot11 {
924
922
  */
925
923
  async UploadPrivateFile(user_id, file, name) {
926
924
  try {
927
- await this.SendApi(OB11Api['upload_private_file'], { user_id: Number(user_id), file, name });
925
+ await this.SendApi("upload_private_file" /* OB11Api['upload_private_file'] */, { user_id: Number(user_id), file, name });
928
926
  return true;
929
927
  }
930
928
  catch {
@@ -938,7 +936,7 @@ export class AdapterOneBot11 {
938
936
  */
939
937
  async SetEssenceMessage(_group_id, message_id) {
940
938
  try {
941
- await this.SendApi(OB11Api['set_essence_msg'], { message_id: Number(message_id) });
939
+ await this.SendApi("set_essence_msg" /* OB11Api['set_essence_msg'] */, { message_id: Number(message_id) });
942
940
  return true;
943
941
  }
944
942
  catch {
@@ -952,7 +950,7 @@ export class AdapterOneBot11 {
952
950
  */
953
951
  async DeleteEssenceMessage(_group_id, message_id) {
954
952
  try {
955
- await this.SendApi(OB11Api['delete_essence_msg'], { message_id: Number(message_id) });
953
+ await this.SendApi("delete_essence_msg" /* OB11Api['delete_essence_msg'] */, { message_id: Number(message_id) });
956
954
  return true;
957
955
  }
958
956
  catch {
@@ -965,7 +963,7 @@ export class AdapterOneBot11 {
965
963
  }
966
964
  async SetFriendApplyResult(request_id, is_approve, remark) {
967
965
  try {
968
- await this.SendApi(OB11Api['set_friend_add_request'], { flag: request_id, approve: is_approve, remark });
966
+ await this.SendApi("set_friend_add_request" /* OB11Api['set_friend_add_request'] */, { flag: request_id, approve: is_approve, remark });
969
967
  return true;
970
968
  }
971
969
  catch {
@@ -974,7 +972,7 @@ export class AdapterOneBot11 {
974
972
  }
975
973
  async SetGroupApplyResult(request_id, is_approve, deny_reason) {
976
974
  try {
977
- await this.SendApi(OB11Api['set_group_add_request'], { flag: request_id, approve: is_approve, sub_type: 'add', reason: deny_reason });
975
+ await this.SendApi("set_group_add_request" /* OB11Api['set_group_add_request'] */, { flag: request_id, approve: is_approve, sub_type: 'add', reason: deny_reason });
978
976
  return true;
979
977
  }
980
978
  catch {
@@ -983,7 +981,7 @@ export class AdapterOneBot11 {
983
981
  }
984
982
  async SetInvitedJoinGroupResult(request_id, is_approve, deny_reason) {
985
983
  try {
986
- await this.SendApi(OB11Api['set_group_add_request'], { flag: request_id, approve: is_approve, sub_type: 'invite', reason: deny_reason });
984
+ await this.SendApi("set_group_add_request" /* OB11Api['set_group_add_request'] */, { flag: request_id, approve: is_approve, sub_type: 'invite', reason: deny_reason });
987
985
  return true;
988
986
  }
989
987
  catch {
package/lib/cli/init.js CHANGED
@@ -1,5 +1,4 @@
1
1
  #!/usr/bin/env node
2
- import { select } from '@inquirer/prompts'
3
2
  import { KarinInit } from '../utils/init.js'
4
3
  /**
5
4
  * 休眠函数
@@ -15,25 +14,7 @@ async function main () {
15
14
  const init = new KarinInit()
16
15
  init.init()
17
16
  await sleep(1000)
18
- const prompt = await select({
19
- message: '请选择npm源 中国大陆服务器一定要更换!!!',
20
- choices: [
21
- { name: '淘宝源(推荐)', value: 'https://registry.npmmirror.com' },
22
- { name: '官方源', value: 'https://registry.npmjs.org' },
23
- ],
24
- })
25
- console.log('正在更换npm源...请稍等~')
26
- await sleep(1000)
27
- /** 结果 */
28
- await init.changeRegistry(prompt)
29
- await sleep(1000)
30
- const pkg = await select({
31
- message: '请选择包管理器 如果不知道怎么选 请选pnpm',
32
- choices: [
33
- { name: 'pnpm', value: 'pnpm' },
34
- { name: 'yarn', value: 'yarn' },
35
- ],
36
- })
17
+ const pkg = init.getRegistry()
37
18
  /** 结果 */
38
19
  await init.install(pkg)
39
20
  }
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ import fs from 'fs'
3
+ import { execSync } from 'child_process'
4
+ import { karinDir } from '../core/dir.js'
5
+ let config = process.cwd() + '/config/config/pm2.yaml'
6
+ if (!fs.existsSync(config)) {
7
+ config = `${karinDir}/config/config/pm2.yaml`
8
+ }
9
+ const cmd = `pm2 restart ${config}`
10
+ execSync(cmd, { stdio: 'inherit', cwd: process.cwd(), env: process.env })
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ import fs from 'fs'
3
+ import { execSync } from 'child_process'
4
+ import { karinDir } from '../core/dir.js'
5
+ let config = process.cwd() + '/config/config/pm2.yaml'
6
+ if (!fs.existsSync(config)) {
7
+ config = `${karinDir}/config/config/pm2.yaml`
8
+ }
9
+ const cmd = `pm2 start ${config}`
10
+ execSync(cmd, { stdio: 'inherit', cwd: process.cwd(), env: process.env })
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ import fs from 'fs'
3
+ import { execSync } from 'child_process'
4
+ import { karinDir } from '../core/dir.js'
5
+ let config = process.cwd() + '/config/config/pm2.yaml'
6
+ if (!fs.existsSync(config)) {
7
+ config = `${karinDir}/config/config/pm2.yaml`
8
+ }
9
+ const cmd = `pm2 delete ${config}`
10
+ execSync(cmd, { stdio: 'inherit', cwd: process.cwd(), env: process.env })
File without changes
package/lib/cli/up.js ADDED
@@ -0,0 +1 @@
1
+ 'use strict'
package/lib/core/init.js CHANGED
@@ -20,3 +20,11 @@ process.env.karin_app_mode = process.argv[2]?.includes('dev') ? 'dev' : 'prod'
20
20
  * 设置语言环境
21
21
  */
22
22
  process.env.karin_app_lang = JSON.stringify(process.execArgv).includes('tsx@') ? 'ts' : 'js'
23
+ if (process.env.karin_app_lang === 'ts') {
24
+ process.env.karin_app_mode = 'dev'
25
+ logger.mark(`当前为 ${logger.green('TypeScript')} 开发模式`)
26
+ }
27
+ if (process.env.npm_lifecycle_event === 'npx' && process.env.npm_lifecycle_script === 'debug') {
28
+ process.env.karin_app_mode = 'dev'
29
+ logger.mark(`当前为 ${logger.green('JavaScript')} 开发模式`)
30
+ }
package/lib/core/karin.js CHANGED
@@ -3,7 +3,6 @@ import { common } from '../utils/index.js'
3
3
  import { render } from '../render/index.js'
4
4
  import { stateArr } from './plugin.js'
5
5
  import { listener } from './listener.js'
6
- import { Scene } from '../types/index.js'
7
6
  export class Karin {
8
7
  /**
9
8
  * - 快速构建命令
@@ -100,13 +99,13 @@ export class Karin {
100
99
  contact (peer, isGroup = true, sub_peer) {
101
100
  if (isGroup) {
102
101
  return {
103
- scene: Scene.Group,
102
+ scene: 'group' /* Scene.Group */,
104
103
  peer,
105
104
  sub_peer: sub_peer || '',
106
105
  }
107
106
  }
108
107
  return {
109
- scene: Scene.Private,
108
+ scene: 'friend' /* Scene.Private */,
110
109
  peer,
111
110
  sub_peer: sub_peer || '',
112
111
  }