node-karin 0.6.18 → 0.6.20

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 +35 -18
  8. package/lib/adapter/kritor/index.js +26 -10
  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 +11 -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 +10 -11
  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
@@ -0,0 +1,564 @@
1
+ import { WebSocket } from 'ws';
2
+ import { IncomingMessage } from 'http';
3
+ import { Contact } from '../event/index.js';
4
+ import { KarinElement, NodeElement } from '../element.js';
5
+ import { LoggerLevel } from '../logger.js';
6
+ import { PushMessageBody, EssenceMessageBody, FriendInfo, GroupInfo, GroupMemberInfo, GroupHonorInfo, GroupFileInfo, GroupFolderInfo, GetRemainCountAtAllResponse } from './api.js';
7
+ export interface KarinAdapter {
8
+ /**
9
+ * 适配器版本信息
10
+ */
11
+ version: {
12
+ /**
13
+ * 适配器名称
14
+ */
15
+ name: string;
16
+ /**
17
+ * 适配器名称
18
+ * @deprecated 请使用`version.name`
19
+ */
20
+ app_name: string;
21
+ /**
22
+ * 适配器版本
23
+ */
24
+ version: string;
25
+ };
26
+ /**
27
+ * 账号信息
28
+ */
29
+ account: {
30
+ /**
31
+ * 账号uid
32
+ */
33
+ uid: string;
34
+ /**
35
+ * 账号uin
36
+ */
37
+ uin: string;
38
+ /**
39
+ * 账号名 不存在则是空字符串
40
+ */
41
+ name: string;
42
+ };
43
+ /**
44
+ * 适配器信息
45
+ */
46
+ adapter: {
47
+ /**
48
+ * 适配器注册之后的索引
49
+ */
50
+ index: number;
51
+ /**
52
+ * 适配器ID
53
+ */
54
+ id: 'QQ' | 'WeChat' | 'Telegram' | 'QQBot' | string;
55
+ /**
56
+ * 适配器名称
57
+ */
58
+ name: 'ICQQ' | 'OneBot11' | 'OntBot12' | 'Kritor' | 'input' | string;
59
+ /**
60
+ * 适配器类型
61
+ */
62
+ type: 'internal' | 'grpc' | 'http' | 'ws' | 'render';
63
+ /**
64
+ * 适配器子类型
65
+ */
66
+ sub_type: 'server' | 'client' | 'internal';
67
+ /**
68
+ * 连接时间
69
+ */
70
+ start_time: number;
71
+ /**
72
+ * 适配器连接地址
73
+ * 仅在`http`、`ws`、`grpc`有效 比如 ws://127.0.0.1:7000
74
+ */
75
+ connect?: string;
76
+ };
77
+ /**
78
+ * 获取Bot自身UID
79
+ */
80
+ get self_id(): string;
81
+ /**
82
+ * 专属当前Bot的日志打印方法
83
+ * @param level - 日志等级
84
+ * @param args - 日志内容
85
+ */
86
+ logger(level: LoggerLevel, ...args: any[]): void;
87
+ /**
88
+ * 可选方法 仅ws有效 在注册适配器后 如果有符合的path则会调用此方法
89
+ * @param socket - WebSocket实例
90
+ * @param request - http请求实例
91
+ */
92
+ server?(socket: WebSocket, request: IncomingMessage): void;
93
+ /**
94
+ * 可选方法 仅ws有效 处理正向ws连接
95
+ * @param connect - 连接地址
96
+ */
97
+ client?(connect: string): void;
98
+ /**
99
+ * 获取头像url
100
+ * @param user_id - 用户ID
101
+ * @param size - 头像大小,默认需要为`0`,请开发者注意
102
+ * @returns 头像的url地址
103
+ */
104
+ getAvatarUrl(user_id: string, size?: 0 | 40 | 100 | 140): string;
105
+ /**
106
+ * 获取群头像url
107
+ * @param group_id - 群号
108
+ * @param size - 头像大小,默认`0`
109
+ * @param history - 历史头像记录,默认`0`,若要获取历史群头像则填写1,2,3...
110
+ * @returns 头像的url地址
111
+ */
112
+ getGroupAvatar(group_id: string, size?: 0 | 40 | 100 | 140, history?: number): string;
113
+ /**
114
+ * 发送消息
115
+ * @param contact - 联系人信息
116
+ * @param elements - 消息元素
117
+ * @param retry_count - 重试次数 默认为1
118
+ * @returns 此接口因各平台问题,允许返回更多自定义数据
119
+ */
120
+ SendMessage(contact: Contact, elements: Array<KarinElement>, retry_count?: number): Promise<{
121
+ message_id?: string;
122
+ message_time?: number;
123
+ [key: string]: any;
124
+ }>;
125
+ /**
126
+ * 上传合并转发消息返回一个资源ID
127
+ * @param contact - 联系人信息
128
+ * @param elements - 转发消息元素
129
+ * @returns 有可能返回资源id 有可能返回消息id 自行区别
130
+ */
131
+ UploadForwardMessage(contact: Contact, elements: Array<NodeElement>): Promise<string>;
132
+ /**
133
+ * 通过资源ID发送转发消息
134
+ * @param contact - 联系人信息
135
+ * @param res_id - 资源ID
136
+ * @returns 包含消息ID和消息发送成功时间的对象
137
+ */
138
+ SendMessageByResId(contact: Contact, res_id: string): Promise<{
139
+ message_id: string;
140
+ message_time: number;
141
+ }>;
142
+ /**
143
+ * 撤回消息
144
+ * @param contact - 联系人信息
145
+ * @param message_id - 消息ID
146
+ * @returns 此接口标准是无返回值的,karin在此拓展可选返回一个boolean
147
+ */
148
+ RecallMessage(contact: Contact, message_id: string): Promise<void | boolean>;
149
+ /**
150
+ * 获取消息
151
+ * @param contact - 联系人信息
152
+ * @param message_id - 消息ID
153
+ * @returns PushMessageBody对象
154
+ */
155
+ GetMessage(contact: Contact, message_id: string): Promise<PushMessageBody>;
156
+ /**
157
+ * 获取msg_id获取历史消息
158
+ * @param contact - 联系人信息
159
+ * @param start_message_id - 起始消息ID
160
+ * @param count - 获取消息数量 默认为1
161
+ * @returns 包含历史消息的数组
162
+ */
163
+ GetHistoryMessage(contact: Contact, start_message_id: string, count: number): Promise<Array<PushMessageBody>>;
164
+ /**
165
+ * 下载合并转发消息
166
+ * @param res_id - 资源ID
167
+ * @returns 包含PushMessageBody对象的数组
168
+ */
169
+ DownloadForwardMessage(res_id: string): Promise<Array<PushMessageBody>>;
170
+ /**
171
+ * 获取精华消息
172
+ * @param group_id - 群ID
173
+ * @param page - 页码
174
+ * @param page_size - 每页数量
175
+ * @returns EssenceMessageBody对象
176
+ */
177
+ GetEssenceMessageList(group_id: string, page: number, page_size: number): Promise<Array<EssenceMessageBody>>;
178
+ /**
179
+ * 设置精华消息
180
+ * @param group_id - 群ID
181
+ * @param message_id - 消息ID
182
+ * @returns 此接口标准是无返回值的,karin在此拓展可选返回一个boolean
183
+ */
184
+ SetEssenceMessage(group_id: string, message_id: string): Promise<void | boolean>;
185
+ /**
186
+ * 删除精华消息
187
+ * @param group_id - 群ID
188
+ * @param message_id - 消息ID
189
+ * @returns 此接口标准是无返回值的,karin在此拓展可选返回一个boolean
190
+ */
191
+ DeleteEssenceMessage(group_id: string, message_id: string): Promise<void | boolean>;
192
+ /**
193
+ * 发送好友赞
194
+ * @param target_uid_or_uin - 好友UID或者UIN(QQ) 任选其一提供即可
195
+ * @param vote_count - 赞的次数,默认为10
196
+ * @returns 此接口标准是无返回值的,karin在此拓展可选返回一个boolean
197
+ */
198
+ VoteUser(target_uid_or_uin: string, vote_count: number): Promise<void | boolean>;
199
+ /**
200
+ * 群踢人
201
+ * @param group_id - 群ID
202
+ * @param target_uid_or_uin - 被踢出目标的UID或者UIN 任选其一
203
+ * @param reject_add_request - 是否拒绝再次申请,默认为false
204
+ * @param kick_reason - 踢出原因,可选
205
+ * @returns 此接口标准是无返回值的,karin在此拓展可选返回一个boolean
206
+ */
207
+ KickMember(group_id: string, target_uid_or_uin: string, reject_add_request?: boolean, kick_reason?: string): Promise<void | boolean>;
208
+ /**
209
+ * 禁言用户
210
+ * @param group_id - 群ID
211
+ * @param target_uid_or_uin - 被禁言目标的UID或者UIN 任选其一
212
+ * @param duration - 禁言时长 单位:秒
213
+ * @returns 此接口标准是无返回值的,karin在此拓展可选返回一个boolean
214
+ */
215
+ BanMember(group_id: string, target_uid_or_uin: string, duration: number): Promise<void | boolean>;
216
+ /**
217
+ * 群全员禁言
218
+ * @param group_id - 群ID
219
+ * @param is_ban - 是否开启全员禁言
220
+ * @returns 此接口标准是无返回值的,karin在此拓展可选返回一个boolean
221
+ */
222
+ SetGroupWholeBan(group_id: string, is_ban: boolean): Promise<void | boolean>;
223
+ /**
224
+ * 设置群管理员
225
+ * @param group_id - 群ID
226
+ * @param target_uid_or_uin - 目标用户的UID或者UIN 任选其一
227
+ * @param is_admin - 是否设置为管理员
228
+ * @returns 此接口标准是无返回值的,karin在此拓展可选返回一个boolean
229
+ */
230
+ SetGroupAdmin(group_id: string, target_uid_or_uin: string, is_admin: boolean): Promise<void | boolean>;
231
+ /**
232
+ * 修改群名片
233
+ * @param group_id - 群ID
234
+ * @param target_uid_or_uin - 目标用户的UID或者UIN 任选其一
235
+ * @param card - 新的群名片
236
+ * @returns 此接口标准是无返回值的,karin在此拓展可选返回一个boolean
237
+ */
238
+ ModifyMemberCard(group_id: string, target_uid_or_uin: string, card: string): Promise<void | boolean>;
239
+ /**
240
+ * 设置群名
241
+ * @param group_id - 群ID
242
+ * @param group_name - 新的群名
243
+ * @returns 此接口标准是无返回值的,karin在此拓展可选返回一个boolean
244
+ */
245
+ ModifyGroupName(group_id: string, group_name: string): Promise<void | boolean>;
246
+ /**
247
+ * 退出群组
248
+ * @param group_id - 群ID
249
+ * @param is_dismiss - 如果Bot是群主,是否解散群。此项属于拓展选项,Kritor标准没有,仅在OneBot11中有效
250
+ * @returns 此接口标准是无返回值的,karin在此拓展可选返回一个boolean
251
+ */
252
+ LeaveGroup(group_id: string, is_dismiss: boolean): Promise<void | boolean>;
253
+ /**
254
+ * 设置群专属头衔
255
+ * @param group_id - 群ID
256
+ * @param target_uid_or_uin - 目标用户的UID或者UIN 任选其一
257
+ * @param unique_title - 专属头衔
258
+ * @returns 此接口标准是无返回值的,karin在此拓展可选返回一个boolean
259
+ */
260
+ SetGroupUniqueTitle(group_id: string, target_uid_or_uin: string, unique_title: string): Promise<void | boolean>;
261
+ /**
262
+ * 获取登录账号信息
263
+ * @returns 包含登录账户UID、UIN和名称的对象
264
+ */
265
+ GetCurrentAccount(): Promise<{
266
+ account_uid: string;
267
+ account_uin: string;
268
+ account_name: string;
269
+ }>;
270
+ /**
271
+ * 获取陌生人信息 不支持批量获取
272
+ * 此接口的请求参数需要明确是target_uid还是target_uin,请开发者注意
273
+ * @param target_uid_or_uin - 用户UID或者UIN 任选其一
274
+ * @returns 陌生人信息数组
275
+ */
276
+ GetStrangerProfileCard(target_uid_or_uin: string[]): Promise<Array<FriendInfo>>;
277
+ /**
278
+ * 获取好友列表
279
+ * @param refresh - 是否刷新好友列表
280
+ * @returns 好友列表数组
281
+ */
282
+ GetFriendList(refresh?: boolean): Promise<Array<FriendInfo>>;
283
+ /**
284
+ * 获取群信息
285
+ * @param group_id - 群ID
286
+ * @param no_cache - 是否刷新缓存
287
+ * @returns 群信息
288
+ */
289
+ GetGroupInfo(group_id: string, no_cache?: boolean): Promise<GroupInfo>;
290
+ /**
291
+ * 获取群列表
292
+ * @param refresh - 是否刷新好友列表
293
+ * @returns 群列表数组
294
+ */
295
+ GetGroupList(refresh?: boolean): Promise<Array<GroupInfo>>;
296
+ /**
297
+ * 获取群成员信息
298
+ * 此接口在非QQ平台上很难获取到标准信息,因此返回的数据可能会有所不同
299
+ * @param group_id - 群ID
300
+ * @param target_uid_or_uin - 目标用户的UID或者UIN 任选其一
301
+ * @param refresh - 是否刷新缓存
302
+ * @returns 群成员信息
303
+ */
304
+ GetGroupMemberInfo(group_id: string, target_uid_or_uin: string, refresh?: boolean): Promise<GroupMemberInfo>;
305
+ /**
306
+ * 获取群成员列表
307
+ * @param group_id - 群ID
308
+ * @param refresh - 是否刷新缓存
309
+ * @returns 群成员列表数组
310
+ */
311
+ GetGroupMemberList(group_id: string, refresh?: boolean): Promise<Array<GroupMemberInfo>>;
312
+ /**
313
+ * 获取群荣誉信息
314
+ * @param group_id - 群ID
315
+ * @param refresh - 是否刷新缓存
316
+ * @returns 群荣誉信息数组
317
+ */
318
+ GetGroupHonor(group_id: string, refresh?: boolean): Promise<Array<GroupHonorInfo>>;
319
+ /**
320
+ * 获取版本信息
321
+ * @returns 版本信息
322
+ */
323
+ GetVersion(): Promise<{
324
+ version: string;
325
+ app_name: string;
326
+ }>;
327
+ /**
328
+ * 设置好友请求结果
329
+ * @param request_id - 请求ID
330
+ * @param is_approve - 是否同意
331
+ * @param remark - 好友备注 同意时有效
332
+ * @returns 设置结果
333
+ */
334
+ SetFriendApplyResult(request_id: string, is_approve: boolean, remark?: string): Promise<void | boolean>;
335
+ /**
336
+ * 设置申请加入群请求结果
337
+ * @param request_id - 请求ID
338
+ * @param is_approve - 是否同意
339
+ * @param deny_reason - 拒绝理由 拒绝时有效
340
+ * @returns 此接口标准是无返回值的,karin在此拓展可选返回一个boolean
341
+ */
342
+ SetGroupApplyResult(request_id: string, is_approve: boolean, deny_reason?: string): Promise<void | boolean>;
343
+ /**
344
+ * 设置邀请加入群请求结果
345
+ * @param request_id - 请求ID
346
+ * @param is_approve - 是否同意
347
+ * @returns 此接口标准是无返回值的,karin在此拓展可选返回一个boolean
348
+ */
349
+ SetInvitedJoinGroupResult(request_id: string, is_approve: boolean): Promise<void | boolean>;
350
+ /**
351
+ * 发送合并转发消息
352
+ * @param contact 联系人信息
353
+ * @param elements 消息元素
354
+ */
355
+ sendForwardMessage(contact: Contact, elements: Array<NodeElement>): Promise<{
356
+ message_id?: string;
357
+ }>;
358
+ /**
359
+ * 对消息进行表情回应 icqq需要传递seq
360
+ * @param Contact - 联系人信息
361
+ * @param message_id - 消息ID
362
+ * @param face_id - 表情ID
363
+ * @returns 此接口标准是无返回值的,karin在此拓展可选返回一个boolean
364
+ */
365
+ ReactMessageWithEmoji(contact: Contact, message_id: string, face_id: number, is_set: boolean): Promise<void | boolean>;
366
+ /**
367
+ * 上传群文件
368
+ * @param group_id - 群号
369
+ * @param file - 本地文件绝对路径
370
+ * @param name - 文件名称 必须提供
371
+ * @param folder - 父目录ID 不提供则上传到根目录
372
+ * @returns 此接口标准是无返回值的,karin在此拓展可选返回一个boolean
373
+ */
374
+ UploadGroupFile(group_id: string, file: string, name: string, folder?: string): Promise<void | boolean>;
375
+ /**
376
+ * 上传私聊文件
377
+ * @param user_id - 用户ID
378
+ * @param file - 本地文件绝对路径
379
+ * @param name - 文件名称 必须提供
380
+ * @returns 此接口标准是无返回值的,karin在此拓展可选返回一个boolean
381
+ */
382
+ UploadPrivateFile(user_id: string, file: string, name: string): Promise<void | boolean>;
383
+ /**
384
+ * 让Kritor下载文件到Kritor本地
385
+ * @param options.url - 下载文件的URL 二选一
386
+ * @param options.base64 - 下载文件的base64 二选一
387
+ * @param options.root_path - 下载文件的根目录 需要保证Kritor有该目录访问权限 可选
388
+ * @param options.file_name - 保存的文件名称 默认为文件MD5 可选
389
+ * @param options.thread_cnt - 下载文件的线程数 默认为3 可选
390
+ * @param options.headers - 下载文件的请求头 可选
391
+ * @returns 下载文件的绝对路径和文件MD5
392
+ */
393
+ DownloadFile(options?: {
394
+ /**
395
+ * 下载文件的URL 二选一
396
+ */
397
+ url?: string;
398
+ /**
399
+ * 下载文件的base64 二选一
400
+ */
401
+ base64?: string;
402
+ /**
403
+ * 下载文件的根目录 需要保证Kritor有该目录访问权限 可选
404
+ */
405
+ root_path?: string;
406
+ /**
407
+ * 保存的文件名称 默认为文件MD5 可选
408
+ */
409
+ file_name?: string;
410
+ /**
411
+ * 下载文件的线程数 默认为3 可选
412
+ */
413
+ thread_cnt?: number;
414
+ /**
415
+ * 下载文件的请求头 可选
416
+ */
417
+ headers?: string;
418
+ }): Promise<{
419
+ file_absolute_path: string;
420
+ file_md5: string;
421
+ }>;
422
+ /**
423
+ * 创建文件夹
424
+ * @param group_id - 群号
425
+ * @param name - 文件夹名
426
+ * @returns - 返回文件夹id和已使用空间
427
+ */
428
+ CreateFolder(group_id: number, name: string): Promise<{
429
+ id: string;
430
+ used_space: number;
431
+ }>;
432
+ /**
433
+ * 重命名文件夹
434
+ * @param group_id - 群号
435
+ * @param folder_id - 文件夹id
436
+ * @param name - 文件夹名
437
+ * @returns - 无返回值
438
+ */
439
+ RenameFolder(group_id: number, folder_id: string, name: string): Promise<void>;
440
+ /**
441
+ * 删除文件夹
442
+ * @param group_id - 群号
443
+ * @param folder_id - 文件夹id
444
+ * @returns - 无返回值
445
+ */
446
+ DeleteFolder(group_id: number, folder_id: string): Promise<void>;
447
+ /**
448
+ * 上传文件
449
+ * @param group_id - 群号
450
+ * @param data - 文件数据,包含文件内容、文件名、文件路径或文件URL
451
+ * @returns - 无返回值
452
+ */
453
+ UploadFile(group_id: number, data: {
454
+ file?: Uint8Array;
455
+ file_name?: string;
456
+ file_path?: string;
457
+ file_url?: string;
458
+ }): Promise<void>;
459
+ /**
460
+ * 删除文件
461
+ * @param group_id - 群号
462
+ * @param file_id - 文件id
463
+ * @param bus_id - 文件类型ID
464
+ * @returns - 无返回值
465
+ */
466
+ DeleteFile(group_id: number, file_id: string, bus_id: number): Promise<void>;
467
+ /**
468
+ * 获取文件系统信息
469
+ * @param group_id - 群号
470
+ * @returns - 返回文件数量、文件数量上限、已使用空间和空间上限
471
+ */
472
+ GetFileSystemInfo(group_id: number): Promise<{
473
+ file_count: number;
474
+ total_count: number;
475
+ used_space: number;
476
+ total_space: number;
477
+ }>;
478
+ /**
479
+ * 获取文件夹下文件
480
+ * @param group_id - 群号
481
+ * @param folder_id - 文件夹id,空则为根目录
482
+ * @returns - 返回文件和文件夹的列表
483
+ */
484
+ GetFileList(group_id: number, folder_id?: string): Promise<{
485
+ files: GroupFileInfo[];
486
+ folders: GroupFolderInfo[];
487
+ }>;
488
+ /**
489
+ * 修改群备注
490
+ * @param group_id - 群号
491
+ * @param remark - 新的备注
492
+ * @returns - 此接口标准是无返回值的,karin在此拓展可选返回一个boolean
493
+ */
494
+ ModifyGroupRemark: (group_id: string, remark: string) => Promise<void | boolean>;
495
+ /**
496
+ * 获取未加入群组信息 此api不建议实现
497
+ * @param group_id - 群号
498
+ */
499
+ GetNotJoinedGroupInfo?(group_id: string): Promise<GroupInfo[]>;
500
+ /**
501
+ * 获取艾特全体成员剩余次数
502
+ * @param group_id - 群号
503
+ * @returns - 返回是否允许at全体成员和全群剩余次数、个人剩余次数
504
+ */
505
+ GetRemainCountAtAll(group_id: string): Promise<GetRemainCountAtAllResponse>;
506
+ /**
507
+ * 获取禁言用户列表
508
+ * @param group_id
509
+ * @returns - 返回禁言用户列表
510
+ */
511
+ GetProhibitedUserList(group_id: string): Promise<Array<{
512
+ uid: string;
513
+ uin: string;
514
+ prohibited_time: number;
515
+ }>>;
516
+ /**
517
+ * 戳一戳用户
518
+ * @param group_id - 群号
519
+ * @param target_uid_or_uin - 目标用户的UID或者UIN 任选其一
520
+ * @returns - 此接口标准是无返回值的,karin在此拓展可选返回一个boolean
521
+ */
522
+ PokeMember: (group_id: string, target_uid_or_uin: string) => Promise<void | boolean>;
523
+ /**
524
+ * 清空本地聊天记录
525
+ * @param contact - 联系人信息
526
+ * @returns - 此接口标准是无返回值的,karin在此拓展可选返回一个boolean
527
+ */
528
+ SetMessageReaded(contact: Contact): Promise<void | boolean>;
529
+ /**
530
+ * Get general cookie
531
+ * 什么,你问我这是干啥的?我也不知道,反正是个接口
532
+ * @param domain - The domain to get cookies from
533
+ */
534
+ GetCookies?(domain: string): Promise<{
535
+ cookie: string;
536
+ }>;
537
+ /**
538
+ * Get bkn and cookie
539
+ * 什么,你问我这是干啥的?我也不知道,反正是个接口
540
+ * @param domain - The domain to get credentials from
541
+ */
542
+ GetCredentials?(domain: string): Promise<{
543
+ bkn: string;
544
+ cookie: string;
545
+ }>;
546
+ /**
547
+ * Get bkn
548
+ * 什么,你问我这是干啥的?我也不知道,反正是个接口
549
+ * @param domain - The domain to get the CSRF token from
550
+ */
551
+ GetCSRFToken?(domain: string): Promise<{
552
+ bkn: string;
553
+ }>;
554
+ /**
555
+ * Get http request cookie
556
+ * 什么,你问我这是干啥的?我也不知道,反正是个接口
557
+ * @param appid - The appid
558
+ * @param daid - The daid
559
+ * @param jump_url - The jump url
560
+ */
561
+ GetHttpCookies?(appid: string, daid: string, jump_url: string): Promise<{
562
+ cookie: string;
563
+ }>;
564
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -1,6 +1,6 @@
1
- import { contact, Sender, KarinElement } from './index.js';
1
+ import { Contact, KarinElement, Sender } from '../index.js';
2
2
  /**
3
- * - 转发、历史消息返回的结构
3
+ * - 基本消息结构
4
4
  */
5
5
  export interface PushMessageBody {
6
6
  /**
@@ -18,7 +18,7 @@ export interface PushMessageBody {
18
18
  /**
19
19
  * - 消息来源
20
20
  */
21
- contact: contact;
21
+ contact: Contact;
22
22
  /**
23
23
  * - 消息发送者
24
24
  */
@@ -194,6 +194,10 @@ export interface GroupInfo {
194
194
  * - 群UIN
195
195
  */
196
196
  group_uin?: string;
197
+ /**
198
+ * - 群描述
199
+ */
200
+ group_desc?: string;
197
201
  }
198
202
  /**
199
203
  * - 群成员信息
@@ -293,3 +297,99 @@ export interface GroupHonorInfo {
293
297
  */
294
298
  description: string;
295
299
  }
300
+ /**
301
+ * - 群文件信息
302
+ */
303
+ export interface GroupFileInfo {
304
+ /**
305
+ * - 文件ID
306
+ */
307
+ file_id: string;
308
+ /**
309
+ * - 文件名
310
+ */
311
+ file_name: string;
312
+ /**
313
+ * - 文件大小
314
+ */
315
+ file_size: number;
316
+ /**
317
+ * - 上传时间
318
+ */
319
+ upload_time: number;
320
+ /**
321
+ * - 过期时间
322
+ */
323
+ expire_time: number;
324
+ /**
325
+ * - 修改时间
326
+ */
327
+ modify_time: number;
328
+ /**
329
+ * - 下载次数
330
+ */
331
+ download_times: number;
332
+ /**
333
+ * - 上传者UID
334
+ */
335
+ uploader: string;
336
+ /**
337
+ * - 上传者昵称
338
+ */
339
+ uploader_name: string;
340
+ /**
341
+ * - SHA1
342
+ */
343
+ sha: string;
344
+ /**
345
+ * - SHA3
346
+ */
347
+ sha3: string;
348
+ /**
349
+ * - MD5
350
+ */
351
+ md5: string;
352
+ }
353
+ /**
354
+ * - 群文件夹信息
355
+ */
356
+ export interface GroupFolderInfo {
357
+ /**
358
+ * - 文件夹ID
359
+ */
360
+ folder_id: string;
361
+ /**
362
+ * - 文件夹名
363
+ */
364
+ folder_name: string;
365
+ /**
366
+ * - 文件数量
367
+ */
368
+ total_file_count: number;
369
+ /**
370
+ * - 创建时间
371
+ */
372
+ create_time: number;
373
+ /**
374
+ * - 创建者UID
375
+ */
376
+ creator: string;
377
+ /**
378
+ * - 创建者昵称
379
+ */
380
+ creator_name: string;
381
+ }
382
+ export interface GetRemainCountAtAllResponse {
383
+ /**
384
+ * - 是否允许at全体成员
385
+ */
386
+ access_at_all: boolean;
387
+ /**
388
+ * - 全群剩余次数
389
+ */
390
+ remain_count_for_group: number;
391
+ /**
392
+ * - 个人剩余次数
393
+ */
394
+ remain_count_for_self: number;
395
+ }
@@ -0,0 +1 @@
1
+ export {};