node-karin 0.6.17 → 0.6.19

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 (101) hide show
  1. package/lib/adapter/index.d.ts +1 -1
  2. package/lib/adapter/index.js +1 -1
  3. package/lib/adapter/input/index.d.ts +16 -3
  4. package/lib/adapter/input/index.js +52 -38
  5. package/lib/adapter/kritor/grpc.d.ts +3 -2
  6. package/lib/adapter/kritor/grpc.js +80 -64
  7. package/lib/adapter/kritor/index.d.ts +38 -18
  8. package/lib/adapter/kritor/index.js +30 -11
  9. package/lib/adapter/onebot/11/convert.d.ts +11 -0
  10. package/lib/adapter/onebot/11/convert.js +168 -0
  11. package/lib/adapter/onebot/11/event.d.ts +25 -0
  12. package/lib/adapter/onebot/11/event.js +425 -0
  13. package/lib/adapter/onebot/11/index.d.ts +506 -0
  14. package/lib/adapter/onebot/11/index.js +1047 -0
  15. package/lib/cli/init.js +5 -0
  16. package/lib/core/karin.d.ts +3 -4
  17. package/lib/core/karin.js +3 -2
  18. package/lib/core/listener.d.ts +2 -2
  19. package/lib/core/listener.js +2 -2
  20. package/lib/core/plugin.app.js +2 -1
  21. package/lib/core/plugin.d.ts +4 -4
  22. package/lib/core/plugin.js +2 -1
  23. package/lib/core/plugin.loader.d.ts +3 -3
  24. package/lib/core/plugin.loader.js +2 -1
  25. package/lib/core/server.js +3 -3
  26. package/lib/event/event.handler.d.ts +5 -5
  27. package/lib/event/event.handler.js +6 -5
  28. package/lib/event/index.d.ts +0 -4
  29. package/lib/event/index.js +0 -4
  30. package/lib/event/message.handler.d.ts +3 -3
  31. package/lib/event/notice.handler.d.ts +3 -3
  32. package/lib/event/notice.handler.js +17 -16
  33. package/lib/event/request.handler.d.ts +3 -3
  34. package/lib/event/request.handler.js +4 -3
  35. package/lib/event/review.handler.d.ts +7 -8
  36. package/lib/index.js +1 -1
  37. package/lib/types/adapter/adapter.d.ts +564 -0
  38. package/lib/types/adapter/adapter.js +1 -0
  39. package/lib/types/{api.d.ts → adapter/api.d.ts} +103 -3
  40. package/lib/types/adapter/api.js +1 -0
  41. package/lib/types/element.d.ts +5 -4
  42. package/lib/types/event/contact.d.ts +28 -0
  43. package/lib/types/event/contact.js +13 -0
  44. package/lib/types/event/event.d.ts +390 -0
  45. package/lib/types/event/event.js +234 -0
  46. package/lib/types/event/index.d.ts +12 -0
  47. package/lib/types/event/index.js +7 -0
  48. package/lib/types/event/message.d.ts +104 -0
  49. package/lib/types/event/message.js +72 -0
  50. package/lib/types/event/notice.d.ts +513 -0
  51. package/lib/types/event/notice.js +52 -0
  52. package/lib/types/{reply.d.ts → event/reply.d.ts} +2 -2
  53. package/lib/types/event/reply.js +1 -0
  54. package/lib/types/event/request.d.ts +126 -0
  55. package/lib/types/event/request.js +52 -0
  56. package/lib/types/event/sender.d.ts +44 -0
  57. package/lib/types/event/sender.js +22 -0
  58. package/lib/types/index.d.ts +6 -5
  59. package/lib/types/index.js +6 -5
  60. package/lib/types/onebot11/api.d.ts +53 -0
  61. package/lib/types/onebot11/api.js +54 -0
  62. package/lib/types/onebot11/event.d.ts +619 -0
  63. package/lib/types/onebot11/event.js +56 -0
  64. package/lib/types/onebot11/index.d.ts +6 -0
  65. package/lib/types/onebot11/index.js +6 -0
  66. package/lib/types/onebot11/params.d.ts +609 -0
  67. package/lib/types/onebot11/params.js +7 -0
  68. package/lib/types/onebot11/response.d.ts +516 -0
  69. package/lib/types/onebot11/response.js +1 -0
  70. package/lib/types/onebot11/segment.d.ts +268 -0
  71. package/lib/types/onebot11/segment.js +30 -0
  72. package/lib/types/onebot11/sender.d.ts +59 -0
  73. package/lib/types/onebot11/sender.js +1 -0
  74. package/lib/types/plugin.d.ts +13 -9
  75. package/lib/utils/button.d.ts +2 -2
  76. package/lib/utils/common.d.ts +2 -2
  77. package/lib/utils/config.js +3 -3
  78. package/lib/utils/handler.d.ts +2 -2
  79. package/lib/utils/handler.js +1 -1
  80. package/lib/utils/init.d.ts +1 -1
  81. package/lib/utils/init.js +2 -1
  82. package/lib/utils/segment.d.ts +2 -2
  83. package/package.json +1 -1
  84. package/lib/adapter/onebot/onebot11.d.ts +0 -309
  85. package/lib/adapter/onebot/onebot11.js +0 -1285
  86. package/lib/event/event.d.ts +0 -140
  87. package/lib/event/event.js +0 -125
  88. package/lib/event/message.d.ts +0 -105
  89. package/lib/event/message.js +0 -70
  90. package/lib/event/notice.d.ts +0 -49
  91. package/lib/event/notice.js +0 -15
  92. package/lib/event/request.d.ts +0 -49
  93. package/lib/event/request.js +0 -15
  94. package/lib/types/adapter.d.ts +0 -581
  95. package/lib/types/adapter.js +0 -1
  96. package/lib/types/api.js +0 -1
  97. package/lib/types/event.d.ts +0 -789
  98. package/lib/types/event.js +0 -1
  99. package/lib/types/onebots11.d.ts +0 -1426
  100. package/lib/types/onebots11.js +0 -1
  101. package/lib/types/reply.js +0 -1
@@ -1,789 +0,0 @@
1
- import { KarinAdapter } from './adapter.js';
2
- import { KarinElement } from './element.js';
3
- import { Reply, replyCallback } from './reply.js';
4
- /**
5
- * - 事件类型
6
- */
7
- export type Event = 'message' | 'notice' | 'request' | 'meta_event' | 'message_sent';
8
- /**
9
- * - 事件来源
10
- */
11
- export type Scene = 'group' | 'friend' | 'guild' | 'nearby' | 'stranger' | 'stranger_from_group';
12
- /**
13
- * - 类型映射
14
- */
15
- export type EventToSubEvent = {
16
- message: 'group_message' | 'private_message' | 'guild_message' | 'nearby' | 'stranger' | 'stranger_from_group';
17
- notice: 'private_poke' | 'private_recall' | 'private_file_uploaded' | 'group_poke' | 'group_card_changed' | 'group_member_unique_title_changed' | 'group_essence_changed' | 'group_recall' | 'group_member_increase' | 'group_member_decrease' | 'group_admin_changed' | 'group_member_ban' | 'group_sign_in' | 'group_whole_ban' | 'group_file_uploaded' | 'group_message_reaction';
18
- request: 'private_apply' | 'group_apply' | 'invited_group';
19
- meta_event: 'group_message' | 'private_message' | 'guild_message' | 'nearby' | 'stranger' | 'stranger_from_group';
20
- message_sent: 'group_message' | 'private_message' | 'guild_message' | 'nearby' | 'stranger' | 'stranger_from_group';
21
- };
22
- /**
23
- * - 事件子类型
24
- */
25
- export type SubEvent = EventToSubEvent['message'] | EventToSubEvent['notice'] | EventToSubEvent['request'];
26
- /**
27
- * - 权限类型
28
- */
29
- export type Permission = 'all' | 'master' | 'admin' | 'group.owner' | 'group.admin';
30
- /**
31
- * - 群角色
32
- */
33
- export type Role = 'owner' | 'admin' | 'member' | 'unknown' | '';
34
- /**
35
- * - 事件联系人信息
36
- */
37
- export interface contact {
38
- /**
39
- * - 事件来源场景
40
- */
41
- scene: Scene;
42
- /**
43
- * - 事件来源id 群号或者用户id
44
- */
45
- peer: string;
46
- /**
47
- * - 事件来源子id 仅在频道和临时会话中存在
48
- */
49
- sub_peer?: string;
50
- }
51
- /**
52
- * - 事件发送者信息
53
- */
54
- export interface Sender {
55
- /**
56
- * - 发送者uid
57
- */
58
- uid: string;
59
- /**
60
- * - 发送者uin
61
- */
62
- uin: string;
63
- /**
64
- * - 发送者昵称
65
- */
66
- nick: string | '';
67
- /**
68
- * - 发送者在群的角色身份
69
- */
70
- role: Role;
71
- }
72
- /**
73
- * - 通知事件类型
74
- */
75
- export interface NoticeType {
76
- /**
77
- * - 私聊戳一戳
78
- */
79
- private_poke: {
80
- /**
81
- * - 操作者uid
82
- */
83
- operator_uid: string;
84
- /**
85
- * - 操作者uin
86
- */
87
- operator_uin: string;
88
- /**
89
- * - 操作名称,如“戳了戳”
90
- */
91
- action: string;
92
- /**
93
- * - 后缀,未设置则未空字符串
94
- */
95
- suffix: string;
96
- /**
97
- * - 操作图标url
98
- */
99
- action_image: string;
100
- };
101
- /**
102
- * - 私聊撤回消息
103
- */
104
- private_recall: {
105
- /**
106
- * - 操作者uid
107
- */
108
- operator_uid: string;
109
- /**
110
- * - 操作者uin
111
- */
112
- operator_uin: string;
113
- /**
114
- * - 撤回的消息id
115
- */
116
- message_id: string;
117
- /**
118
- * - 操作名称,如“撤回了一条消息” 一般此项为空字符串
119
- */
120
- tip_text: string;
121
- };
122
- /**
123
- * - 私聊文件上传
124
- * - 文件信息最少需要提供一个url
125
- */
126
- private_file_uploaded: {
127
- /**
128
- * - 操作者uid
129
- */
130
- operator_uid: string;
131
- /**
132
- * - 操作者uin
133
- */
134
- operator_uin: string;
135
- /**
136
- * - 文件ID 此项没有则为空字符串
137
- */
138
- file_id: string;
139
- /**
140
- * - 文件子ID 此项没有则为空字符串
141
- */
142
- file_sub_id: number;
143
- /**
144
- * - 文件名 此项没有则为空字符串
145
- */
146
- file_name: string;
147
- /**
148
- * - 文件大小 此项没有则为0
149
- */
150
- file_size: number;
151
- /**
152
- * - 过期时间 此项没有则为0
153
- */
154
- expire_time: number;
155
- /**
156
- * - 文件URL
157
- */
158
- file_url: string;
159
- };
160
- /**
161
- * - 群聊戳一戳
162
- */
163
- group_poke: {
164
- /**
165
- * - 操作者uid
166
- */
167
- operator_uid: string;
168
- /**
169
- * - 操作者uin
170
- */
171
- operator_uin: string;
172
- /**
173
- * - 目标uid 一般为被戳的uid
174
- */
175
- target_uid: string;
176
- /**
177
- * - 目标uin 一般为被戳的uin
178
- */
179
- target_uin: string;
180
- /**
181
- * - 操作名称,如“戳了戳”
182
- */
183
- action: string;
184
- /**
185
- * - 后缀,未设置则未空字符串
186
- */
187
- suffix: string;
188
- /**
189
- * - 操作图标url
190
- */
191
- action_image: string;
192
- };
193
- /**
194
- * - 群聊消息撤回
195
- * - 撤回自己消息时,operator和target为自己
196
- * - 撤回别人消息时,operator为操作者,target为被撤回者
197
- */
198
- group_recall: {
199
- /**
200
- * - 操作者uid
201
- */
202
- operator_uid: string;
203
- /**
204
- * - 操作者uin
205
- */
206
- operator_uin: string;
207
- /**
208
- * - 目标uid
209
- */
210
- target_uid: string;
211
- /**
212
- * - 目标uin
213
- */
214
- target_uin: string;
215
- /**
216
- * - 撤回的消息id
217
- */
218
- message_id: string;
219
- /**
220
- * - 操作名称,如“撤回了一条消息” 一般此项为空字符串
221
- */
222
- tip_text: string;
223
- };
224
- /**
225
- * - 群文件上传
226
- * - 文件信息最少需要提供一个url
227
- */
228
- group_file_uploaded: {
229
- /**
230
- * - 操作者uid
231
- */
232
- operator_uid: string;
233
- /**
234
- * - 操作者uin
235
- */
236
- operator_uin: string;
237
- /**
238
- * - 文件ID 此项没有则为空字符串
239
- */
240
- file_id: string;
241
- /**
242
- * - 文件子ID 此项没有则为0
243
- */
244
- file_sub_id: number;
245
- /**
246
- * - 文件名 此项没有则为空字符串
247
- */
248
- file_name: string;
249
- /**
250
- * - 文件大小 此项没有则为0
251
- */
252
- file_size: number;
253
- /**
254
- * - 过期时间 此项没有则为0
255
- */
256
- expire_time: number;
257
- /**
258
- * - 文件URL
259
- */
260
- file_url: string;
261
- };
262
- /**
263
- * - 群名片变动
264
- */
265
- group_card_changed: {
266
- /**
267
- * - 操作者uid
268
- */
269
- operator_uid: string;
270
- /**
271
- * - 操作者uin
272
- */
273
- operator_uin: string;
274
- /**
275
- * - 目标uid
276
- */
277
- target_uid: string;
278
- /**
279
- * - 目标uin
280
- */
281
- target_uin: string;
282
- /**
283
- * - 新名片
284
- */
285
- new_card: string;
286
- };
287
- /**
288
- * - 群成员头衔变动
289
- */
290
- group_member_unique_title_changed: {
291
- /**
292
- * - 目标uid
293
- */
294
- target_uid: string;
295
- /**
296
- * - 目标uin
297
- */
298
- target_uin: string;
299
- /**
300
- * - 新头衔
301
- */
302
- title: string;
303
- };
304
- /**
305
- * - 群精华消息变动
306
- */
307
- group_essence_changed: {
308
- /**
309
- * - 群ID
310
- */
311
- group_id: string;
312
- /**
313
- * - 操作者uid
314
- */
315
- operator_uid: string;
316
- /**
317
- * - 操作者uin
318
- */
319
- operator_uin: string;
320
- /**
321
- * - 目标uid
322
- */
323
- target_uid: string;
324
- /**
325
- * - 目标uin
326
- */
327
- target_uin: string;
328
- /**
329
- * - 被操作的消息id
330
- */
331
- message_id: string;
332
- /**
333
- * - 设置、取消精华
334
- */
335
- is_set: boolean;
336
- };
337
- /**
338
- * - 群成员增加
339
- */
340
- group_member_increase: {
341
- /**
342
- * - 群ID
343
- */
344
- group_id: string;
345
- /**
346
- * - 操作者uid
347
- */
348
- operator_uid: string;
349
- /**
350
- * - 操作者uin
351
- */
352
- operator_uin: string;
353
- /**
354
- * - 目标uid
355
- */
356
- target_uid: string;
357
- /**
358
- * - 目标uin
359
- */
360
- target_uin: string;
361
- /**
362
- * - 加入方式 APPROVE:管理员批准 INVITE:管理员邀请
363
- */
364
- type: 'invite' | 'approve';
365
- };
366
- /**
367
- * - 群成员减少
368
- */
369
- group_member_decrease: {
370
- /**
371
- * - 群ID
372
- */
373
- group_id: string;
374
- /**
375
- * - 操作者uid
376
- */
377
- operator_uid: string;
378
- /**
379
- * - 操作者uin
380
- */
381
- operator_uin: string;
382
- /**
383
- * - 目标uid
384
- */
385
- target_uid: string;
386
- /**
387
- * - 目标uin
388
- */
389
- target_uin: string;
390
- /**
391
- * - 减少方式 leave:主动退群 kick:成员被踢 kick_me:机器人自身被踢
392
- */
393
- type: 'leave' | 'kick' | 'kick_me';
394
- };
395
- /**
396
- * - 群管理员变动
397
- */
398
- group_admin_changed: {
399
- /**
400
- * - 群ID
401
- */
402
- group_id: string;
403
- /**
404
- * - 目标uid
405
- */
406
- target_uid: string;
407
- /**
408
- * - 目标uin
409
- */
410
- target_uin: string;
411
- /**
412
- * - 设置、取消管理员
413
- */
414
- is_admin: boolean;
415
- };
416
- /**
417
- * - 群打卡
418
- */
419
- group_sign_in: {
420
- /**
421
- * - 群ID
422
- */
423
- group_id: string;
424
- /**
425
- * - 目标uid
426
- */
427
- target_uid: string;
428
- /**
429
- * - 目标uin
430
- */
431
- target_uin: string;
432
- /**
433
- * - 操作名称,如“打卡了”
434
- */
435
- action: string;
436
- /**
437
- * - 打卡图标url
438
- */
439
- rank_image: string;
440
- };
441
- /**
442
- * - 群成员被禁言
443
- */
444
- group_member_ban: {
445
- /**
446
- * - 群ID
447
- */
448
- group_id: string;
449
- /**
450
- * - 操作者uid
451
- */
452
- operator_uid: string;
453
- /**
454
- * - 操作者uin
455
- */
456
- operator_uin: string;
457
- /**
458
- * - 目标uid
459
- */
460
- target_uid: string;
461
- /**
462
- * - 目标uin
463
- */
464
- target_uin: string;
465
- /**
466
- * - 禁言时长,单位秒
467
- */
468
- duration: number;
469
- /**
470
- * - 禁言类型 ban:禁言 lift_ban:解禁
471
- */
472
- type: 'ban' | 'lift_ban';
473
- };
474
- /**
475
- * - 群全员禁言
476
- */
477
- group_whole_ban: {
478
- /**
479
- * - 群ID
480
- */
481
- group_id: string;
482
- /**
483
- * - 操作者uid
484
- */
485
- operator_uid: string;
486
- /**
487
- * - 操作者uin
488
- */
489
- operator_uin: string;
490
- /**
491
- * - 是否开启全体禁言
492
- */
493
- is_ban: boolean;
494
- };
495
- /**
496
- * - 群表情动态
497
- */
498
- group_message_reaction: {
499
- /**
500
- * - 群ID
501
- */
502
- group_id: string;
503
- /**
504
- * - 操作者uid
505
- */
506
- message_id: string;
507
- /**
508
- * - 表情ID 参考: https://bot.q.qq.com/wiki/develop/api-v2/openapi/emoji/model.html#EmojiType
509
- */
510
- face_id: number;
511
- /**
512
- * - 添加、取消回应
513
- */
514
- is_set: boolean;
515
- };
516
- }
517
- /**
518
- * - 请求事件类型
519
- */
520
- export interface RequestType {
521
- /**
522
- * - 好友申请
523
- */
524
- private_apply: {
525
- /**
526
- * - 申请者uid
527
- */
528
- applier_uid: string;
529
- /**
530
- * - 申请者uin
531
- */
532
- applier_uin: string;
533
- /**
534
- * - 申请理由
535
- */
536
- message: string;
537
- };
538
- /**
539
- * - 群申请
540
- */
541
- group_apply: {
542
- /**
543
- * - 群ID
544
- */
545
- group_id: string;
546
- /**
547
- * - 申请者uid
548
- */
549
- applier_uid: string;
550
- /**
551
- * - 申请者uin
552
- */
553
- applier_uin: string;
554
- /**
555
- * - 邀请者uid
556
- */
557
- inviter_uid: string;
558
- /**
559
- * - 邀请者uin
560
- */
561
- inviter_uin: string;
562
- /**
563
- * - 申请理由
564
- */
565
- reason: string;
566
- };
567
- /**
568
- * - 邀请入群
569
- */
570
- invited_group: {
571
- /**
572
- * - 群ID
573
- */
574
- group_id: string;
575
- /**
576
- * - 邀请者uid
577
- */
578
- inviter_uid: string;
579
- /**
580
- * - 邀请者uin
581
- */
582
- inviter_uin: string;
583
- };
584
- }
585
- /**
586
- * - 事件基类
587
- */
588
- export interface KarinEventType {
589
- /**
590
- * - 机器人ID 请尽量使用UID
591
- */
592
- self_id: string;
593
- /**
594
- * - 用户ID
595
- */
596
- user_id: string;
597
- /**
598
- * - 群ID 仅在群聊中存在
599
- * @default ''
600
- */
601
- group_id: string;
602
- /**
603
- * - 事件类型
604
- */
605
- event: Event;
606
- /**
607
- * - 事件子类型
608
- */
609
- sub_event: EventToSubEvent[Event];
610
- /**
611
- * - 事件ID
612
- */
613
- event_id: string;
614
- /**
615
- * - 事件触发时间戳
616
- */
617
- time: number;
618
- /**
619
- * - 事件联系人信息
620
- */
621
- contact: contact;
622
- /**
623
- * - 事件发送者信息
624
- */
625
- sender: Sender;
626
- /**
627
- * - 是否为主人
628
- * @default false
629
- */
630
- isMaster: boolean;
631
- /**
632
- * - 是否为管理员
633
- * @default false
634
- */
635
- isAdmin: boolean;
636
- /**
637
- * - 是否为私聊
638
- * @default false
639
- */
640
- isPrivate: boolean;
641
- /**
642
- * - 是否为群聊
643
- * @default false
644
- */
645
- isGroup: boolean;
646
- /**
647
- * - 是否为频道
648
- * @default false
649
- */
650
- isGuild: boolean;
651
- /**
652
- * - 是否为群临时会话
653
- * @default false
654
- */
655
- isGroupTemp: boolean;
656
- /**
657
- * - 日志函数字符串
658
- */
659
- logFnc: string;
660
- /**
661
- * - 日志用户字符串
662
- */
663
- logText: string;
664
- /**
665
- * - 存储器 由开发者自行调用
666
- */
667
- store: Map<string, any>;
668
- /**
669
- * - 标准含义是代表原始事件文本,在karin是指经过karin处理后的事件文本
670
- */
671
- raw_message: string;
672
- /**
673
- * - 回复函数
674
- */
675
- reply: Reply;
676
- /**
677
- * - 回复函数 由适配器实现,开发者不应该直接调用
678
- */
679
- replyCallback: replyCallback;
680
- /**
681
- * - bot实现
682
- */
683
- bot: KarinAdapter;
684
- }
685
- /**
686
- * - 消息事件基类
687
- */
688
- export interface KarinMessageEvent extends KarinEventType {
689
- /**
690
- * - 消息体
691
- */
692
- event: 'message' | 'message_sent';
693
- /**
694
- * - 消息ID
695
- */
696
- message_id: string;
697
- /**
698
- * - 消息序列号
699
- */
700
- message_seq?: number;
701
- /**
702
- * - 原始消息文本
703
- */
704
- raw_message: string;
705
- /**
706
- * - 消息体元素
707
- */
708
- elements: Array<KarinElement>;
709
- /**
710
- * - 框架处理后的文本
711
- */
712
- msg: string;
713
- /**
714
- * - 图片数组
715
- */
716
- image: Array<string>;
717
- /**
718
- * - AT数组
719
- */
720
- at: Array<string>;
721
- /**
722
- * - 是否AT机器人
723
- */
724
- atBot: boolean;
725
- /**
726
- * - 是否AT全体
727
- */
728
- atAll: boolean;
729
- /**
730
- * - 文件元素
731
- */
732
- file: object;
733
- /**
734
- * - 引用消息ID
735
- */
736
- reply_id: string;
737
- /**
738
- * - 消息别名
739
- */
740
- alias: string;
741
- }
742
- /**
743
- * - 基础通知事件接口,包含所有共同属性
744
- */
745
- export interface KarinNoticeEventBase extends KarinEventType {
746
- event: 'notice';
747
- }
748
- /**
749
- * - 辅助类型,用于生成 KarinNoticeEvent 的联合类型
750
- */
751
- export type NoticeEvent<T extends keyof NoticeType> = KarinNoticeEventBase & {
752
- sub_event: T;
753
- content: NoticeType[T];
754
- };
755
- /**
756
- * - 通知事件基类
757
- */
758
- export type KarinNoticeEvent = NoticeEvent<'private_poke'> | NoticeEvent<'private_recall'> | NoticeEvent<'private_file_uploaded'> | NoticeEvent<'group_poke'> | NoticeEvent<'group_card_changed'> | NoticeEvent<'group_member_unique_title_changed'> | NoticeEvent<'group_essence_changed'> | NoticeEvent<'group_recall'> | NoticeEvent<'group_member_increase'> | NoticeEvent<'group_member_decrease'> | NoticeEvent<'group_admin_changed'> | NoticeEvent<'group_member_ban'> | NoticeEvent<'group_sign_in'> | NoticeEvent<'group_whole_ban'> | NoticeEvent<'group_file_uploaded'> | NoticeEvent<'group_message_reaction'>;
759
- /**
760
- * - 请求事件基类
761
- */
762
- export interface KarinRequestEventBase extends KarinEventType {
763
- event: 'request';
764
- }
765
- /**
766
- * - 辅助类型,用于生成 KarinRequestEvent 的联合类型
767
- */
768
- export type RequestEvent<T extends keyof RequestType> = KarinRequestEventBase & {
769
- sub_event: T;
770
- content: RequestType[T];
771
- };
772
- /**
773
- * - 请求事件基类
774
- */
775
- export type KarinRequestEvent = RequestEvent<'private_apply'> | RequestEvent<'group_apply'> | RequestEvent<'invited_group'>;
776
- export interface EMap {
777
- message: KarinMessageEvent;
778
- notice: KarinNoticeEvent;
779
- request: KarinRequestEvent;
780
- message_sent: KarinMessageEvent;
781
- meta_event: any;
782
- }
783
- export type EType = KarinMessageEvent | KarinNoticeEvent | KarinRequestEvent;
784
- /**
785
- * 根据accept函数是否存在来决定e的类型
786
- */
787
- export type EventType<T> = T extends {
788
- accept: (e: KarinNoticeEvent | KarinRequestEvent) => Promise<void>;
789
- } ? KarinNoticeEvent | KarinRequestEvent : KarinMessageEvent;