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.
- package/lib/adapter/input/index.js +5 -5
- package/lib/adapter/kritor/grpc.js +59 -59
- package/lib/adapter/onebot/11/convert.js +16 -17
- package/lib/adapter/onebot/11/event.js +21 -21
- package/lib/adapter/onebot/11/index.js +50 -52
- package/lib/cli/init.js +1 -20
- package/lib/cli/restart.js +10 -0
- package/lib/cli/start.d.ts +2 -0
- package/lib/cli/start.js +10 -0
- package/lib/cli/stop.d.ts +2 -0
- package/lib/cli/stop.js +10 -0
- package/lib/cli/up.d.ts +0 -0
- package/lib/cli/up.js +1 -0
- package/lib/core/init.js +8 -0
- package/lib/core/karin.js +2 -3
- package/lib/core/plugin.app.js +1 -2
- package/lib/core/plugin.js +1 -2
- package/lib/core/plugin.loader.d.ts +7 -16
- package/lib/core/plugin.loader.js +100 -146
- package/lib/core/process.js +3 -3
- package/lib/core/server.js +2 -5
- package/lib/event/notice.handler.js +16 -17
- package/lib/event/request.handler.js +3 -4
- package/lib/types/event/contact.d.ts +1 -1
- package/lib/types/event/contact.js +1 -13
- package/lib/types/event/event.d.ts +5 -5
- package/lib/types/event/event.js +1 -234
- package/lib/types/event/notice.js +1 -2
- package/lib/types/event/request.js +1 -2
- package/lib/types/event/sender.d.ts +2 -2
- package/lib/types/event/sender.js +1 -22
- package/lib/types/onebot11/api.d.ts +1 -1
- package/lib/types/onebot11/api.js +1 -54
- package/lib/types/onebot11/event.d.ts +5 -5
- package/lib/types/onebot11/event.js +1 -55
- package/lib/types/onebot11/params.d.ts +1 -1
- package/lib/types/onebot11/params.js +1 -7
- package/lib/types/onebot11/response.js +1 -1
- package/lib/types/onebot11/segment.d.ts +1 -1
- package/lib/types/onebot11/segment.js +1 -30
- package/lib/utils/common.d.ts +2 -3
- package/lib/utils/common.js +6 -6
- package/lib/utils/init.d.ts +1 -1
- package/lib/utils/init.js +25 -20
- package/package.json +11 -22
- package/lib/cli/postinstall.js +0 -25
- package/pnpm-workspace.yaml +0 -2
- /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 {
|
|
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']
|
|
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
|
|
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
|
|
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']
|
|
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']
|
|
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']
|
|
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']
|
|
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']
|
|
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']
|
|
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']
|
|
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']
|
|
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']
|
|
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']
|
|
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']
|
|
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']
|
|
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']
|
|
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']
|
|
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']
|
|
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']
|
|
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']
|
|
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']
|
|
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']
|
|
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']
|
|
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
|
|
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']
|
|
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']
|
|
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']
|
|
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']
|
|
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']
|
|
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']
|
|
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']
|
|
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
|
|
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 })
|
package/lib/cli/start.js
ADDED
|
@@ -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 })
|
package/lib/cli/stop.js
ADDED
|
@@ -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 })
|
package/lib/cli/up.d.ts
ADDED
|
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
|
}
|