@satorijs/adapter-lark 3.2.1 → 3.4.0-alpha.0
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/bot.d.ts +1 -1
- package/lib/http.d.ts +2 -2
- package/lib/index.js +58 -66
- package/lib/index.js.map +2 -2
- package/lib/message.d.ts +1 -1
- package/lib/utils.d.ts +5 -6
- package/package.json +3 -3
- package/src/bot.ts +2 -2
- package/src/http.ts +3 -3
- package/src/message.ts +6 -5
- package/src/types/internal.ts +1 -1
- package/src/utils.ts +6 -7
package/lib/bot.d.ts
CHANGED
|
@@ -45,7 +45,7 @@ export declare class LarkBot<C extends Context = Context> extends Bot<C, LarkBot
|
|
|
45
45
|
}>;
|
|
46
46
|
}
|
|
47
47
|
export declare namespace LarkBot {
|
|
48
|
-
interface Config extends HttpServer.
|
|
48
|
+
interface Config extends HttpServer.Options, Quester.Config {
|
|
49
49
|
appId: string;
|
|
50
50
|
appSecret: string;
|
|
51
51
|
encryptKey?: string;
|
package/lib/http.d.ts
CHANGED
|
@@ -13,11 +13,11 @@ export declare class HttpServer<C extends Context = Context> extends Adapter<C,
|
|
|
13
13
|
private _refreshCipher;
|
|
14
14
|
}
|
|
15
15
|
export declare namespace HttpServer {
|
|
16
|
-
interface
|
|
16
|
+
interface Options {
|
|
17
17
|
selfUrl?: string;
|
|
18
18
|
path?: string;
|
|
19
19
|
verifyToken?: boolean;
|
|
20
20
|
verifySignature?: boolean;
|
|
21
21
|
}
|
|
22
|
-
const createConfig: (path: string) => Schema<
|
|
22
|
+
const createConfig: (path: string) => Schema<Options>;
|
|
23
23
|
}
|
package/lib/index.js
CHANGED
|
@@ -4,7 +4,6 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
4
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
5
|
var __getProtoOf = Object.getPrototypeOf;
|
|
6
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
7
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
9
8
|
var __export = (target, all) => {
|
|
10
9
|
for (var name in all)
|
|
@@ -27,12 +26,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
27
26
|
mod
|
|
28
27
|
));
|
|
29
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
-
var __publicField = (obj, key, value) => {
|
|
31
|
-
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
32
|
-
return value;
|
|
33
|
-
};
|
|
34
29
|
|
|
35
|
-
//
|
|
30
|
+
// src/index.ts
|
|
36
31
|
var src_exports = {};
|
|
37
32
|
__export(src_exports, {
|
|
38
33
|
Feishu: () => types_exports,
|
|
@@ -43,15 +38,14 @@ __export(src_exports, {
|
|
|
43
38
|
});
|
|
44
39
|
module.exports = __toCommonJS(src_exports);
|
|
45
40
|
|
|
46
|
-
//
|
|
41
|
+
// src/bot.ts
|
|
47
42
|
var import_satori5 = require("@satorijs/satori");
|
|
48
43
|
|
|
49
|
-
//
|
|
44
|
+
// src/http.ts
|
|
50
45
|
var import_satori2 = require("@satorijs/satori");
|
|
51
46
|
|
|
52
|
-
//
|
|
47
|
+
// src/utils.ts
|
|
53
48
|
var import_crypto = __toESM(require("crypto"));
|
|
54
|
-
var import_protocol = require("@satorijs/protocol");
|
|
55
49
|
var import_satori = require("@satorijs/satori");
|
|
56
50
|
function adaptSender(sender, session) {
|
|
57
51
|
let userId;
|
|
@@ -65,14 +59,13 @@ function adaptSender(sender, session) {
|
|
|
65
59
|
}
|
|
66
60
|
__name(adaptSender, "adaptSender");
|
|
67
61
|
function adaptMessage(bot, data, session) {
|
|
68
|
-
var _a, _b;
|
|
69
62
|
const json = JSON.parse(data.message.content);
|
|
70
|
-
const assetEndpoint = (0, import_satori.trimSlash)(
|
|
63
|
+
const assetEndpoint = (0, import_satori.trimSlash)(bot.config.selfUrl ?? bot.ctx.server.config.selfUrl) + bot.config.path + "/assets";
|
|
71
64
|
const content = [];
|
|
72
65
|
switch (data.message.message_type) {
|
|
73
66
|
case "text": {
|
|
74
67
|
const text = json.text;
|
|
75
|
-
if (!
|
|
68
|
+
if (!data.message.mentions?.length) {
|
|
76
69
|
content.push(text);
|
|
77
70
|
break;
|
|
78
71
|
}
|
|
@@ -124,14 +117,13 @@ function adaptSession(bot, body) {
|
|
|
124
117
|
}
|
|
125
118
|
__name(adaptSession, "adaptSession");
|
|
126
119
|
async function decodeMessage(bot, body) {
|
|
127
|
-
var _a, _b;
|
|
128
120
|
const json = JSON.parse(body.body.content);
|
|
129
|
-
const assetEndpoint = (0, import_satori.trimSlash)(
|
|
121
|
+
const assetEndpoint = (0, import_satori.trimSlash)(bot.config.selfUrl ?? bot.ctx.server.config.selfUrl) + bot.config.path + "/assets";
|
|
130
122
|
const content = [];
|
|
131
123
|
switch (body.msg_type) {
|
|
132
124
|
case "text": {
|
|
133
125
|
const text = json.text;
|
|
134
|
-
if (!
|
|
126
|
+
if (!body.mentions?.length) {
|
|
135
127
|
content.push(import_satori.h.text(text));
|
|
136
128
|
break;
|
|
137
129
|
}
|
|
@@ -184,7 +176,7 @@ __name(extractIdType, "extractIdType");
|
|
|
184
176
|
function decodeChannel(guild) {
|
|
185
177
|
return {
|
|
186
178
|
id: guild.chat_id,
|
|
187
|
-
type:
|
|
179
|
+
type: import_satori.Universal.Channel.Type.TEXT,
|
|
188
180
|
name: guild.name,
|
|
189
181
|
parentId: guild.chat_id
|
|
190
182
|
};
|
|
@@ -199,16 +191,18 @@ function decodeGuild(guild) {
|
|
|
199
191
|
}
|
|
200
192
|
__name(decodeGuild, "decodeGuild");
|
|
201
193
|
function decodeUser(user) {
|
|
202
|
-
var _a;
|
|
203
194
|
return {
|
|
204
195
|
id: user.open_id,
|
|
205
|
-
avatar:
|
|
196
|
+
avatar: user.avatar?.avatar_origin,
|
|
206
197
|
isBot: false,
|
|
207
198
|
name: user.name
|
|
208
199
|
};
|
|
209
200
|
}
|
|
210
201
|
__name(decodeUser, "decodeUser");
|
|
211
|
-
var
|
|
202
|
+
var Cipher = class {
|
|
203
|
+
static {
|
|
204
|
+
__name(this, "Cipher");
|
|
205
|
+
}
|
|
212
206
|
encryptKey;
|
|
213
207
|
key;
|
|
214
208
|
constructor(key) {
|
|
@@ -230,11 +224,13 @@ var _Cipher = class _Cipher {
|
|
|
230
224
|
return sign;
|
|
231
225
|
}
|
|
232
226
|
};
|
|
233
|
-
__name(_Cipher, "Cipher");
|
|
234
|
-
var Cipher = _Cipher;
|
|
235
227
|
|
|
236
|
-
//
|
|
237
|
-
var
|
|
228
|
+
// src/http.ts
|
|
229
|
+
var HttpServer = class extends import_satori2.Adapter {
|
|
230
|
+
static {
|
|
231
|
+
__name(this, "HttpServer");
|
|
232
|
+
}
|
|
233
|
+
static inject = ["server"];
|
|
238
234
|
logger;
|
|
239
235
|
ciphers = {};
|
|
240
236
|
constructor(ctx, bot) {
|
|
@@ -249,17 +245,15 @@ var _HttpServer = class _HttpServer extends import_satori2.Adapter {
|
|
|
249
245
|
async connect(bot) {
|
|
250
246
|
const { path } = bot.config;
|
|
251
247
|
bot.ctx.server.post(path, (ctx) => {
|
|
252
|
-
var _a;
|
|
253
248
|
this._refreshCipher();
|
|
254
249
|
const signature = ctx.get("X-Lark-Signature");
|
|
255
250
|
const enabledSignatureVerify = this.bots.filter((bot2) => bot2.config.verifySignature);
|
|
256
251
|
if (signature && enabledSignatureVerify.length) {
|
|
257
252
|
const result = enabledSignatureVerify.some((bot2) => {
|
|
258
|
-
var _a2;
|
|
259
253
|
const timestamp = ctx.get("X-Lark-Request-Timestamp");
|
|
260
254
|
const nonce = ctx.get("X-Lark-Request-Nonce");
|
|
261
255
|
const body2 = ctx.request.rawBody;
|
|
262
|
-
const actualSignature =
|
|
256
|
+
const actualSignature = this.ciphers[bot2.config.appId]?.calculateSignature(timestamp, nonce, body2);
|
|
263
257
|
if (actualSignature === signature)
|
|
264
258
|
return true;
|
|
265
259
|
else
|
|
@@ -269,13 +263,13 @@ var _HttpServer = class _HttpServer extends import_satori2.Adapter {
|
|
|
269
263
|
return ctx.status = 403;
|
|
270
264
|
}
|
|
271
265
|
const body = this._tryDecryptBody(ctx.request.body);
|
|
272
|
-
if (
|
|
266
|
+
if (body?.type === "url_verification" && body?.challenge && typeof body.challenge === "string") {
|
|
273
267
|
ctx.response.body = { challenge: body.challenge };
|
|
274
268
|
return;
|
|
275
269
|
}
|
|
276
270
|
const enabledVerifyTokenVerify = this.bots.filter((bot2) => bot2.config.verifyToken && bot2.config.verificationToken);
|
|
277
271
|
if (enabledVerifyTokenVerify.length) {
|
|
278
|
-
const token =
|
|
272
|
+
const token = ctx.request.body?.token;
|
|
279
273
|
if (token) {
|
|
280
274
|
const result = enabledVerifyTokenVerify.some((bot2) => {
|
|
281
275
|
if (token === bot2.config.verificationToken)
|
|
@@ -299,7 +293,7 @@ var _HttpServer = class _HttpServer extends import_satori2.Adapter {
|
|
|
299
293
|
const bot2 = this.bots.find((bot3) => bot3.selfId === selfId);
|
|
300
294
|
if (!bot2)
|
|
301
295
|
return ctx.status = 404;
|
|
302
|
-
const resp = await bot2.http
|
|
296
|
+
const resp = await bot2.http(`/im/v1/messages/${messageId}/resources/${key}`, {
|
|
303
297
|
method: "GET",
|
|
304
298
|
params: { type },
|
|
305
299
|
responseType: "stream"
|
|
@@ -347,9 +341,6 @@ var _HttpServer = class _HttpServer extends import_satori2.Adapter {
|
|
|
347
341
|
}
|
|
348
342
|
}
|
|
349
343
|
};
|
|
350
|
-
__name(_HttpServer, "HttpServer");
|
|
351
|
-
__publicField(_HttpServer, "inject", ["server"]);
|
|
352
|
-
var HttpServer = _HttpServer;
|
|
353
344
|
((HttpServer2) => {
|
|
354
345
|
HttpServer2.createConfig = /* @__PURE__ */ __name((path) => import_satori2.Schema.object({
|
|
355
346
|
path: import_satori2.Schema.string().role("url").description("要连接的服务器地址。").default(path),
|
|
@@ -359,25 +350,27 @@ var HttpServer = _HttpServer;
|
|
|
359
350
|
}).description("服务端设置"), "createConfig");
|
|
360
351
|
})(HttpServer || (HttpServer = {}));
|
|
361
352
|
|
|
362
|
-
//
|
|
353
|
+
// src/message.ts
|
|
363
354
|
var import_fs = require("fs");
|
|
364
355
|
var import_satori3 = require("@satorijs/satori");
|
|
365
356
|
var import_form_data = __toESM(require("form-data"));
|
|
366
|
-
var
|
|
357
|
+
var LarkMessageEncoder = class extends import_satori3.MessageEncoder {
|
|
358
|
+
static {
|
|
359
|
+
__name(this, "LarkMessageEncoder");
|
|
360
|
+
}
|
|
367
361
|
quote;
|
|
368
362
|
content = "";
|
|
369
363
|
addition;
|
|
370
364
|
// TODO: currently not used, would be supported in the future
|
|
371
365
|
richText;
|
|
372
366
|
async post(data) {
|
|
373
|
-
var _a, _b, _c, _d, _e;
|
|
374
367
|
try {
|
|
375
368
|
let resp;
|
|
376
369
|
if (this.quote) {
|
|
377
|
-
resp = await
|
|
370
|
+
resp = await this.bot.internal?.replyMessage(this.quote, data);
|
|
378
371
|
} else {
|
|
379
372
|
data.receive_id = this.channelId;
|
|
380
|
-
resp = await
|
|
373
|
+
resp = await this.bot.internal?.sendMessage(extractIdType(this.channelId), data);
|
|
381
374
|
}
|
|
382
375
|
const session = this.bot.session();
|
|
383
376
|
session.messageId = resp.data.message_id;
|
|
@@ -387,9 +380,9 @@ var _LarkMessageEncoder = class _LarkMessageEncoder extends import_satori3.Messa
|
|
|
387
380
|
this.results.push(session.event.message);
|
|
388
381
|
} catch (e) {
|
|
389
382
|
if (import_satori3.Quester.isAxiosError(e)) {
|
|
390
|
-
if (
|
|
383
|
+
if (e.response?.data?.code) {
|
|
391
384
|
const generalErrorMsg = `Check error code at https://open.larksuite.com/document/server-docs/getting-started/server-error-codes`;
|
|
392
|
-
e.message += ` (Lark error code ${e.response.data.code}: ${
|
|
385
|
+
e.message += ` (Lark error code ${e.response.data.code}: ${e.response.data.msg ?? generalErrorMsg})`;
|
|
393
386
|
}
|
|
394
387
|
}
|
|
395
388
|
this.errors.push(e);
|
|
@@ -422,7 +415,7 @@ var _LarkMessageEncoder = class _LarkMessageEncoder extends import_satori3.Messa
|
|
|
422
415
|
}
|
|
423
416
|
async sendFile(type, url) {
|
|
424
417
|
const payload = new import_form_data.default();
|
|
425
|
-
const assetKey = type === "image" ? "image" : "file";
|
|
418
|
+
const assetKey = type === "img" || type === "image" ? "image" : "file";
|
|
426
419
|
const [schema, file] = url.split("://");
|
|
427
420
|
const filename = schema === "base64" ? "unknown" : new URL(url).pathname.split("/").pop();
|
|
428
421
|
if (schema === "file") {
|
|
@@ -433,7 +426,7 @@ var _LarkMessageEncoder = class _LarkMessageEncoder extends import_satori3.Messa
|
|
|
433
426
|
const resp = await this.bot.assetsQuester.get(url, { responseType: "stream" });
|
|
434
427
|
payload.append(assetKey, resp);
|
|
435
428
|
}
|
|
436
|
-
if (type === "image") {
|
|
429
|
+
if (type === "img" || type === "image") {
|
|
437
430
|
payload.append("image_type", "message");
|
|
438
431
|
const { data } = await this.bot.internal.uploadImage(payload);
|
|
439
432
|
return {
|
|
@@ -469,7 +462,6 @@ var _LarkMessageEncoder = class _LarkMessageEncoder extends import_satori3.Messa
|
|
|
469
462
|
}
|
|
470
463
|
}
|
|
471
464
|
async visit(element) {
|
|
472
|
-
var _a;
|
|
473
465
|
const { type, attrs, children } = element;
|
|
474
466
|
switch (type) {
|
|
475
467
|
case "text":
|
|
@@ -477,7 +469,7 @@ var _LarkMessageEncoder = class _LarkMessageEncoder extends import_satori3.Messa
|
|
|
477
469
|
break;
|
|
478
470
|
case "at": {
|
|
479
471
|
if (attrs.type === "all") {
|
|
480
|
-
this.content += `<at user_id="all">${
|
|
472
|
+
this.content += `<at user_id="all">${attrs.name ?? "所有人"}</at>`;
|
|
481
473
|
} else {
|
|
482
474
|
this.content += `<at user_id="${attrs.id}">${attrs.name}</at>`;
|
|
483
475
|
}
|
|
@@ -504,13 +496,14 @@ var _LarkMessageEncoder = class _LarkMessageEncoder extends import_satori3.Messa
|
|
|
504
496
|
await this.flush();
|
|
505
497
|
this.quote = attrs.id;
|
|
506
498
|
break;
|
|
499
|
+
case "img":
|
|
507
500
|
case "image":
|
|
508
501
|
case "video":
|
|
509
502
|
case "audio":
|
|
510
503
|
case "file":
|
|
511
|
-
if (attrs.url) {
|
|
504
|
+
if (attrs.src || attrs.url) {
|
|
512
505
|
await this.flush();
|
|
513
|
-
this.addition = await this.sendFile(type, attrs.url);
|
|
506
|
+
this.addition = await this.sendFile(type, attrs.src || attrs.url);
|
|
514
507
|
}
|
|
515
508
|
break;
|
|
516
509
|
case "figure":
|
|
@@ -523,22 +516,23 @@ var _LarkMessageEncoder = class _LarkMessageEncoder extends import_satori3.Messa
|
|
|
523
516
|
}
|
|
524
517
|
}
|
|
525
518
|
};
|
|
526
|
-
__name(_LarkMessageEncoder, "LarkMessageEncoder");
|
|
527
|
-
var LarkMessageEncoder = _LarkMessageEncoder;
|
|
528
519
|
|
|
529
|
-
//
|
|
520
|
+
// src/types/index.ts
|
|
530
521
|
var types_exports = {};
|
|
531
522
|
__export(types_exports, {
|
|
532
523
|
Internal: () => Internal
|
|
533
524
|
});
|
|
534
525
|
|
|
535
|
-
//
|
|
526
|
+
// src/types/internal.ts
|
|
536
527
|
var import_form_data2 = __toESM(require("form-data"));
|
|
537
528
|
var import_satori4 = require("@satorijs/satori");
|
|
538
|
-
var
|
|
529
|
+
var Internal = class _Internal {
|
|
539
530
|
constructor(bot) {
|
|
540
531
|
this.bot = bot;
|
|
541
532
|
}
|
|
533
|
+
static {
|
|
534
|
+
__name(this, "Internal");
|
|
535
|
+
}
|
|
542
536
|
processReponse(response) {
|
|
543
537
|
const { code, msg } = response;
|
|
544
538
|
if (code === 0) {
|
|
@@ -583,10 +577,8 @@ var _Internal = class _Internal {
|
|
|
583
577
|
}
|
|
584
578
|
}
|
|
585
579
|
};
|
|
586
|
-
__name(_Internal, "Internal");
|
|
587
|
-
var Internal = _Internal;
|
|
588
580
|
|
|
589
|
-
//
|
|
581
|
+
// src/types/auth.ts
|
|
590
582
|
Internal.define({
|
|
591
583
|
"/auth/v3/app_access_token/internal": {
|
|
592
584
|
POST: "getAppAccessToken"
|
|
@@ -596,7 +588,7 @@ Internal.define({
|
|
|
596
588
|
}
|
|
597
589
|
});
|
|
598
590
|
|
|
599
|
-
//
|
|
591
|
+
// src/types/guild.ts
|
|
600
592
|
Internal.define({
|
|
601
593
|
"/im/v1/chats": {
|
|
602
594
|
GET: "getCurrentUserGuilds"
|
|
@@ -609,7 +601,7 @@ Internal.define({
|
|
|
609
601
|
}
|
|
610
602
|
});
|
|
611
603
|
|
|
612
|
-
//
|
|
604
|
+
// src/types/message/asset.ts
|
|
613
605
|
Internal.define({
|
|
614
606
|
"/im/v1/images": {
|
|
615
607
|
POST: "uploadImage"
|
|
@@ -619,7 +611,7 @@ Internal.define({
|
|
|
619
611
|
}
|
|
620
612
|
});
|
|
621
613
|
|
|
622
|
-
//
|
|
614
|
+
// src/types/message/index.ts
|
|
623
615
|
Internal.define({
|
|
624
616
|
"/im/v1/messages": {
|
|
625
617
|
GET: "getMessageList"
|
|
@@ -646,8 +638,13 @@ Internal.define({
|
|
|
646
638
|
}
|
|
647
639
|
});
|
|
648
640
|
|
|
649
|
-
//
|
|
650
|
-
var
|
|
641
|
+
// src/bot.ts
|
|
642
|
+
var LarkBot = class extends import_satori5.Bot {
|
|
643
|
+
static {
|
|
644
|
+
__name(this, "LarkBot");
|
|
645
|
+
}
|
|
646
|
+
static inject = ["server", "http"];
|
|
647
|
+
static MessageEncoder = LarkMessageEncoder;
|
|
651
648
|
_token;
|
|
652
649
|
_refresher;
|
|
653
650
|
http;
|
|
@@ -706,10 +703,9 @@ var _LarkBot = class _LarkBot extends import_satori5.Bot {
|
|
|
706
703
|
return await decodeMessage(this, data.data);
|
|
707
704
|
}
|
|
708
705
|
async getMessageList(channelId, before) {
|
|
709
|
-
var _a;
|
|
710
706
|
const { data: messages } = await this.internal.getMessageList({ container_id_type: "chat", container_id: channelId, page_token: before });
|
|
711
707
|
const data = await Promise.all(messages.items.reverse().map((data2) => decodeMessage(this, data2)));
|
|
712
|
-
return { data, next:
|
|
708
|
+
return { data, next: data[0]?.id };
|
|
713
709
|
}
|
|
714
710
|
async getUser(userId, guildId) {
|
|
715
711
|
const data = await this.internal.getContactUser(userId);
|
|
@@ -736,10 +732,6 @@ var _LarkBot = class _LarkBot extends import_satori5.Bot {
|
|
|
736
732
|
return { data, next: users.page_token };
|
|
737
733
|
}
|
|
738
734
|
};
|
|
739
|
-
__name(_LarkBot, "LarkBot");
|
|
740
|
-
__publicField(_LarkBot, "inject", ["server"]);
|
|
741
|
-
__publicField(_LarkBot, "MessageEncoder", LarkMessageEncoder);
|
|
742
|
-
var LarkBot = _LarkBot;
|
|
743
735
|
((LarkBot2) => {
|
|
744
736
|
LarkBot2.Config = import_satori5.Schema.intersect([
|
|
745
737
|
import_satori5.Schema.object({
|
|
@@ -768,7 +760,7 @@ var LarkBot = _LarkBot;
|
|
|
768
760
|
]);
|
|
769
761
|
})(LarkBot || (LarkBot = {}));
|
|
770
762
|
|
|
771
|
-
//
|
|
763
|
+
// src/index.ts
|
|
772
764
|
var src_default = LarkBot;
|
|
773
765
|
// Annotate the CommonJS export names for ESM import in node:
|
|
774
766
|
0 && (module.exports = {
|
package/lib/index.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/index.ts", "../src/bot.ts", "../src/http.ts", "../src/utils.ts", "../src/message.ts", "../src/types/index.ts", "../src/types/internal.ts", "../src/types/auth.ts", "../src/types/guild.ts", "../src/types/message/asset.ts", "../src/types/message/index.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": ["import_satori", "import_satori", "mention", "crypto", "bot", "
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAAA,iBAAiD;;;ACCjD,IAAAC,iBAAiD;;;ACDjD,oBAAmB;AACnB,oBAA0D;AAYnD,SAAS,YAAY,QAAgB,SAA2B;AACrE,MAAI;AACJ,MAAI,eAAe,QAAQ;AACzB,aAAS,OAAO,UAAU;AAAA,EAC5B,OAAO;AACL,aAAS,OAAO;AAAA,EAClB;AACA,UAAQ,SAAS;AACjB,SAAO;AACT;AATgB;AAWT,SAAS,aAAa,KAAgB,MAAgD,SAA2B;AACtH,QAAM,OAAO,KAAK,MAAM,KAAK,QAAQ,OAAO;AAC5C,QAAM,oBAAgB,yBAAU,IAAI,OAAO,WAAW,IAAI,IAAI,OAAO,OAAO,OAAO,IAAI,IAAI,OAAO,OAAO;AACzG,QAAM,UAA0B,CAAC;AACjC,UAAQ,KAAK,QAAQ,cAAc;AAAA,IACjC,KAAK,QAAQ;AACX,YAAM,OAAO,KAAK;AAClB,UAAI,CAAC,KAAK,QAAQ,UAAU,QAAQ;AAClC,gBAAQ,KAAK,IAAI;AACjB;AAAA,MACF;AAGA,WAAK,MAAM,GAAG,EAAE,QAAQ,CAAC,SAAS;AAChC,YAAI,KAAK,WAAW,GAAG,GAAG;AACxB,gBAAM,UAAU,KAAK,QAAQ,SAAS,KAAK,CAACC,aAAYA,SAAQ,QAAQ,IAAI;AAC5E,kBAAQ,KAAK,gBAAE,GAAG,QAAQ,GAAG,SAAS,EAAE,MAAM,QAAQ,KAAK,CAAC,CAAC;AAAA,QAC/D,OAAO;AACL,kBAAQ,KAAK,IAAI;AAAA,QACnB;AAAA,MACF,CAAC;AACD;AAAA,IACF;AAAA,IACA,KAAK;AACH,cAAQ,KAAK,gBAAE,MAAM,GAAG,aAAa,UAAU,KAAK,QAAQ,UAAU,IAAI,KAAK,SAAS,YAAY,IAAI,MAAM,EAAE,CAAC;AACjH;AAAA,IACF,KAAK;AACH,cAAQ,KAAK,gBAAE,MAAM,GAAG,aAAa,SAAS,KAAK,QAAQ,UAAU,IAAI,KAAK,QAAQ,YAAY,IAAI,MAAM,EAAE,CAAC;AAC/G;AAAA,IACF,KAAK;AACH,cAAQ,KAAK,gBAAE,MAAM,GAAG,aAAa,SAAS,KAAK,QAAQ,UAAU,IAAI,KAAK,QAAQ,YAAY,IAAI,MAAM,IAAI,KAAK,SAAS,CAAC;AAC/H;AAAA,IACF,KAAK;AACH,cAAQ,KAAK,gBAAE,KAAK,GAAG,aAAa,SAAS,KAAK,QAAQ,UAAU,IAAI,KAAK,QAAQ,YAAY,IAAI,MAAM,EAAE,CAAC;AAC9G;AAAA,EACJ;AAEA,UAAQ,YAAY,CAAC,KAAK,QAAQ;AAClC,UAAQ,YAAY,KAAK,QAAQ;AACjC,UAAQ,YAAY,KAAK,QAAQ;AACjC,UAAQ,UAAU,QAAQ,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,KAAK,GAAG;AAE3D,SAAO;AACT;AA3CgB;AA6CT,SAAS,aAAgC,KAAmB,MAAiB;AAClF,QAAM,UAAU,IAAI,QAAQ;AAC5B,UAAQ,YAAY,QAAQ,IAAI;AAEhC,UAAQ,KAAK,MAAM;AAAA,IACjB,KAAK;AACH,cAAQ,OAAO;AACf,cAAQ,UAAU,KAAK,MAAM,QAAQ;AACrC,UAAI,QAAQ,YAAY;AAAO,gBAAQ,UAAU;AACjD,cAAQ,WAAW,QAAQ,YAAY;AACvC,kBAAY,KAAK,MAAM,QAAQ,OAAO;AACtC,mBAAa,KAAK,KAAK,OAAO,OAAO;AACrC;AAAA,EACJ;AACA,SAAO;AACT;AAfgB;AAkBhB,eAAsB,cAAc,KAAc,MAA+C;AAC/F,QAAM,OAAO,KAAK,MAAM,KAAK,KAAK,OAAO;AACzC,QAAM,oBAAgB,yBAAU,IAAI,OAAO,WAAW,IAAI,IAAI,OAAO,OAAO,OAAO,IAAI,IAAI,OAAO,OAAO;AACzG,QAAM,UAAe,CAAC;AACtB,UAAQ,KAAK,UAAU;AAAA,IACrB,KAAK,QAAQ;AACX,YAAM,OAAO,KAAK;AAClB,UAAI,CAAC,KAAK,UAAU,QAAQ;AAC1B,gBAAQ,KAAK,gBAAE,KAAK,IAAI,CAAC;AACzB;AAAA,MACF;AAGA,WAAK,MAAM,GAAG,EAAE,QAAQ,CAAC,SAAS;AAChC,YAAI,KAAK,WAAW,GAAG,GAAG;AACxB,gBAAM,UAAU,KAAK,SAAS,KAAK,CAACA,aAAYA,SAAQ,QAAQ,IAAI;AACpE,kBAAQ,KAAK,gBAAE,GAAG,QAAQ,IAAI,EAAE,MAAM,QAAQ,KAAK,CAAC,CAAC;AAAA,QACvD,OAAO;AACL,kBAAQ,KAAK,gBAAE,KAAK,IAAI,CAAC;AAAA,QAC3B;AAAA,MACF,CAAC;AACD;AAAA,IACF;AAAA,IACA,KAAK;AACH,cAAQ,KAAK,gBAAE,MAAM,GAAG,aAAa,UAAU,KAAK,UAAU,IAAI,KAAK,SAAS,YAAY,IAAI,MAAM,EAAE,CAAC;AACzG;AAAA,IACF,KAAK;AACH,cAAQ,KAAK,gBAAE,MAAM,GAAG,aAAa,SAAS,KAAK,UAAU,IAAI,KAAK,QAAQ,YAAY,IAAI,MAAM,EAAE,CAAC;AACvG;AAAA,IACF,KAAK;AACH,cAAQ,KAAK,gBAAE,MAAM,GAAG,aAAa,SAAS,KAAK,UAAU,IAAI,KAAK,QAAQ,YAAY,IAAI,MAAM,IAAI,KAAK,SAAS,CAAC;AACvH;AAAA,IACF,KAAK;AACH,cAAQ,KAAK,gBAAE,KAAK,GAAG,aAAa,SAAS,KAAK,UAAU,IAAI,KAAK,QAAQ,YAAY,IAAI,MAAM,EAAE,CAAC;AACtG;AAAA,EACJ;AAEA,SAAO;AAAA,IACL,WAAW,CAAC,KAAK;AAAA,IACjB,WAAW,CAAC,KAAK;AAAA,IACjB,WAAW,CAAC,KAAK;AAAA,IACjB,IAAI,KAAK;AAAA,IACT,SAAS,QAAQ,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,KAAK,GAAG;AAAA,IAClD,UAAU;AAAA,IACV,OAAO,KAAK,mBAAmB,MAAM,IAAI,WAAW,KAAK,SAAS,KAAK,gBAAgB,IAAI;AAAA,EAC7F;AACF;AA9CsB;AAoDf,SAAS,cAAc,IAAgC;AAC5D,MAAI,GAAG,WAAW,IAAI;AAAG,WAAO;AAChC,MAAI,GAAG,WAAW,IAAI;AAAG,WAAO;AAChC,MAAI,GAAG,WAAW,IAAI;AAAG,WAAO;AAChC,MAAI,GAAG,SAAS,GAAG;AAAG,WAAO;AAC7B,SAAO;AACT;AANgB;AAQT,SAAS,cAAc,OAAsC;AAClE,SAAO;AAAA,IACL,IAAI,MAAM;AAAA,IACV,MAAM,wBAAU,QAAQ,KAAK;AAAA,IAC7B,MAAM,MAAM;AAAA,IACZ,UAAU,MAAM;AAAA,EAClB;AACF;AAPgB;AAST,SAAS,YAAY,OAAoC;AAC9D,SAAO;AAAA,IACL,IAAI,MAAM;AAAA,IACV,MAAM,MAAM;AAAA,IACZ,QAAQ,MAAM;AAAA,EAChB;AACF;AANgB;AAQT,SAAS,WAAW,MAAiC;AAC1D,SAAO;AAAA,IACL,IAAI,KAAK;AAAA,IACT,QAAQ,KAAK,QAAQ;AAAA,IACrB,OAAO;AAAA,IACP,MAAM,KAAK;AAAA,EACb;AACF;AAPgB;AAST,IAAM,SAAN,MAAa;AAAA,EA7KpB,OA6KoB;AAAA;AAAA;AAAA,EAClB;AAAA,EACA;AAAA,EAEA,YAAY,KAAa;AACvB,SAAK,aAAa;AAClB,UAAM,OAAO,cAAAC,QAAO,WAAW,QAAQ;AACvC,SAAK,OAAO,GAAG;AACf,SAAK,MAAM,KAAK,OAAO;AAAA,EACzB;AAAA,EAEA,QAAQ,SAAiB;AACvB,UAAM,gBAAgB,OAAO,KAAK,SAAS,QAAQ;AACnD,UAAM,WAAW,cAAAA,QAAO,iBAAiB,eAAe,KAAK,KAAK,cAAc,MAAM,GAAG,EAAE,CAAC;AAC5F,QAAI,YAAY,SAAS,OAAO,cAAc,MAAM,EAAE,EAAE,SAAS,KAAK,GAAG,OAAO,MAAM;AACtF,iBAAa,SAAS,MAAM,MAAM;AAClC,WAAO;AAAA,EACT;AAAA,EAEA,mBAAmB,WAAmB,OAAe,MAAsB;AACzE,UAAM,UAAU,YAAY,QAAQ,KAAK,aAAa;AACtD,UAAM,OAAO,cAAAA,QAAO,WAAW,QAAQ,EAAE,OAAO,OAAO,EAAE,OAAO,KAAK;AACrE,WAAO;AAAA,EACT;AACF;;;AD7LO,IAAM,aAAN,cAAsD,uBAAyB;AAAA,EARtF,OAQsF;AAAA;AAAA;AAAA,EACpF,OAAO,SAAS,CAAC,QAAQ;AAAA,EAEjB;AAAA,EACA,UAAkC,CAAC;AAAA,EAE3C,YAAY,KAAQ,KAAmB;AACrC,UAAM,GAAG;AACT,SAAK,SAAS,IAAI,OAAO,MAAM;AAAA,EACjC;AAAA,EAEA,KAAK,KAAQ,KAAmB;AAC9B,UAAM,KAAK,KAAK,GAAG;AAEnB,SAAK,eAAe;AACpB,WAAO,IAAI,WAAW;AAAA,EACxB;AAAA,EAEA,MAAM,QAAQ,KAAgB;AAC5B,UAAM,EAAE,KAAK,IAAI,IAAI;AACrB,QAAI,IAAI,OAAO,KAAK,MAAM,CAAC,QAAQ;AACjC,WAAK,eAAe;AAKpB,YAAM,YAAY,IAAI,IAAI,kBAAkB;AAC5C,YAAM,yBAAyB,KAAK,KAAK,OAAO,CAACC,SAAQA,KAAI,OAAO,eAAe;AACnF,UAAI,aAAa,uBAAuB,QAAQ;AAC9C,cAAM,SAAS,uBAAuB,KAAK,CAACA,SAAQ;AAClD,gBAAM,YAAY,IAAI,IAAI,0BAA0B;AACpD,gBAAM,QAAQ,IAAI,IAAI,sBAAsB;AAC5C,gBAAMC,QAAO,IAAI,QAAQ;AACzB,gBAAM,kBAAkB,KAAK,QAAQD,KAAI,OAAO,KAAK,GAAG,mBAAmB,WAAW,OAAOC,KAAI;AACjG,cAAI,oBAAoB;AAAW,mBAAO;AAAA;AACrC,mBAAO;AAAA,QACd,CAAC;AACD,YAAI,CAAC;AAAQ,iBAAQ,IAAI,SAAS;AAAA,MACpC;AAGA,YAAM,OAAO,KAAK,gBAAgB,IAAI,QAAQ,IAAI;AAGlD,UAAI,MAAM,SAAS,sBAAsB,MAAM,aAAa,OAAO,KAAK,cAAc,UAAU;AAC9F,YAAI,SAAS,OAAO,EAAE,WAAW,KAAK,UAAU;AAChD;AAAA,MACF;AAGA,YAAM,2BAA2B,KAAK,KAAK,OAAO,CAACD,SAAQA,KAAI,OAAO,eAAeA,KAAI,OAAO,iBAAiB;AACjH,UAAI,yBAAyB,QAAQ;AACnC,cAAM,QAAQ,IAAI,QAAQ,MAAM;AAEhC,YAAI,OAAO;AACT,gBAAM,SAAS,yBAAyB,KAAK,CAACA,SAAQ;AACpD,gBAAI,UAAUA,KAAI,OAAO;AAAmB,qBAAO;AAAA;AAC9C,qBAAO;AAAA,UACd,CAAC;AACD,cAAI,CAAC;AAAQ,mBAAQ,IAAI,SAAS;AAAA,QACpC;AAAA,MACF;AAGA,UAAI,OAAO,MAAM,+BAA+B,IAAI;AACpD,WAAK,gBAAgB,IAAI;AAGzB,aAAO,IAAI,SAAS;AAAA,IACtB,CAAC;AAED,QAAI,IAAI,OAAO,IAAI,OAAO,kCAAkC,OAAO,QAAQ;AACzE,YAAM,OAAO,IAAI,OAAO,SAAS,UAAU,UAAU;AACrD,YAAM,MAAM,IAAI,OAAO;AACvB,YAAM,YAAY,IAAI,OAAO;AAC7B,YAAM,SAAS,IAAI,QAAQ,MAAM;AACjC,YAAMA,OAAM,KAAK,KAAK,KAAK,CAACA,SAAQA,KAAI,WAAW,MAAM;AACzD,UAAI,CAACA;AAAK,eAAO,IAAI,SAAS;AAE9B,YAAM,OAAO,MAAMA,KAAI,KAAwB,mBAAmB,SAAS,cAAc,GAAG,IAAI;AAAA,QAC9F,QAAQ;AAAA,QACR,QAAQ,EAAE,KAAK;AAAA,QACf,cAAc;AAAA,MAChB,CAAC;AAED,UAAI,SAAS;AACb,UAAI,SAAS,QAAQ,cAAc,IAAI,KAAK,QAAQ,cAAc;AAClE,UAAI,SAAS,OAAO,KAAK;AAAA,IAC3B,CAAC;AAAA,EACH;AAAA,EAEA,gBAAgB,MAAuB;AACrC,UAAM,EAAE,OAAO,IAAI;AACnB,QAAI,CAAC;AAAQ;AACb,UAAM,EAAE,QAAQ,WAAW,IAAI;AAC/B,SAAK,OAAO;AACZ,UAAM,MAAM,KAAK,KAAK,KAAK,CAACA,SAAQA,KAAI,WAAW,MAAM;AACzD,UAAM,UAAU,aAAa,KAAK,IAAI;AACtC,QAAI,SAAS,OAAO;AAAA,EACtB;AAAA,EAEQ,gBAAgB,MAAgB;AACtC,SAAK,eAAe;AAGpB,UAAM,UAAU,OAAO,OAAO,KAAK,OAAO;AAC1C,QAAI,QAAQ,UAAU,OAAO,KAAK,YAAY,UAAU;AACtD,iBAAW,UAAU,SAAS;AAC5B,YAAI;AACF,iBAAO,KAAK,MAAM,OAAO,QAAQ,KAAK,OAAO,CAAC;AAAA,QAChD,QAAQ;AAAA,QAAC;AAAA,MACX;AACA,WAAK,OAAO,KAAK,iCAAiC,IAAI;AAAA,IACxD;AAEA,QAAI,OAAO,KAAK,YAAY,YAAY,CAAC,QAAQ,QAAQ;AACvD,WAAK,OAAO,KAAK,6DAA6D,IAAI;AAAA,IACpF;AAEA,WAAO;AAAA,EACT;AAAA,EAEQ,iBAAuB;AAC7B,UAAM,UAAU,OAAO,KAAK,KAAK,OAAO;AACxC,UAAM,OAAO,KAAK,KAAK,IAAI,CAAC,QAAQ,IAAI,OAAO,KAAK;AACpD,QAAI,KAAK,WAAW,QAAQ,UAAU,KAAK,MAAM,CAAC,QAAQ,QAAQ,SAAS,GAAG,CAAC;AAAG;AAElF,SAAK,UAAU,CAAC;AAChB,eAAW,OAAO,KAAK,MAAM;AAC3B,WAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,IAAI,OAAO,UAAU;AAAA,IACnE;AAAA,EACF;AACF;AAAA,CAEO,CAAUE,gBAAV;AAQE,EAAMA,YAAA,eAAe,wBAAC,SAAkC,sBAAO,OAAO;AAAA,IAC3E,MAAM,sBAAO,OAAO,EAAE,KAAK,KAAK,EAAE,YAAY,YAAY,EAAE,QAAQ,IAAI;AAAA,IACxE,SAAS,sBAAO,OAAO,EAAE,KAAK,MAAM,EAAE,YAAY,yBAAyB;AAAA,IAC3E,aAAa,sBAAO,QAAQ,EAAE,YAAY,SAAS;AAAA,IACnD,iBAAiB,sBAAO,QAAQ,EAAE,YAAY,SAAS;AAAA,EACzD,CAAC,EAAE,YAAY,OAAO,GALM;AAAA,GARb;;;AE9IjB,gBAAiC;AAGjC,IAAAC,iBAAoD;AACpD,uBAAqB;AAWd,IAAM,qBAAN,cAA8D,8BAA8B;AAAA,EAfnG,OAemG;AAAA;AAAA;AAAA,EACzF;AAAA,EACA,UAAU;AAAA,EACV;AAAA;AAAA,EAEA;AAAA,EAER,MAAM,KAAK,MAAY;AACrB,QAAI;AACF,UAAI;AACJ,UAAI,KAAK,OAAO;AACd,eAAO,MAAM,KAAK,IAAI,UAAU,aAAa,KAAK,OAAO,IAAI;AAAA,MAC/D,OAAO;AACL,aAAK,aAAa,KAAK;AACvB,eAAO,MAAM,KAAK,IAAI,UAAU,YAAY,cAAc,KAAK,SAAS,GAAG,IAAI;AAAA,MACjF;AACA,YAAM,UAAU,KAAK,IAAI,QAAQ;AACjC,cAAQ,YAAY,KAAK,KAAK;AAC9B,cAAQ,YAAY,OAAO,KAAK,KAAK,WAAW,IAAI;AACpD,cAAQ,SAAS,KAAK,KAAK,OAAO;AAClC,cAAQ,IAAI,KAAK,SAAS,QAAQ,OAAO;AACzC,WAAK,QAAQ,KAAK,QAAQ,MAAM,OAAO;AAAA,IACzC,SAAS,GAAG;AAEV,UAAI,uBAAQ,aAAa,CAAC,GAAG;AAC3B,YAAI,EAAE,UAAU,MAAM,MAAM;AAC1B,gBAAM,kBAAkB;AACxB,YAAE,WAAW,qBAAqB,EAAE,SAAS,KAAK,IAAI,KAAK,EAAE,SAAS,KAAK,OAAO,eAAe;AAAA,QACnG;AAAA,MACF;AACA,WAAK,OAAO,KAAK,CAAC;AAAA,IACpB;AAAA,EACF;AAAA,EAEA,MAAM,QAAQ;AACZ,QAAI,KAAK,YAAY,MAAM,CAAC,KAAK,YAAY,CAAC,KAAK;AAAU;AAE7D,QAAI;AACJ,QAAI,KAAK,UAAU;AACjB,gBAAU;AAAA,QACR,GAAG;AAAA,QACH,GAAG,KAAK,SAAS;AAAA,MACnB;AAAA,IACF;AACA,QAAI,KAAK,UAAU;AACjB,gBAAU,EAAE,OAAO,KAAK,SAAS;AAAA,IACnC;AACA,QAAI,KAAK,SAAS;AAChB,gBAAU,EAAE,MAAM,KAAK,QAAQ;AAAA,IACjC;AACA,UAAM,KAAK,KAAK;AAAA,MACd,UAAU,KAAK,WAAW,SAAS,KAAK,WAAW,KAAK,SAAS,OAAO;AAAA,MACxE,SAAS,KAAK,UAAU,OAAO;AAAA,IACjC,CAAC;AAGD,SAAK,QAAQ;AACb,SAAK,UAAU;AACf,SAAK,WAAW;AAChB,SAAK,WAAW;AAAA,EAClB;AAAA,EAEA,MAAM,SAAS,MAAoD,KAAgC;AACjG,UAAM,UAAU,IAAI,iBAAAC,QAAS;AAE7B,UAAM,WAAW,SAAS,SAAS,SAAS,UAAU,UAAU;AAChE,UAAM,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,KAAK;AACtC,UAAM,WAAW,WAAW,WAAW,YAAY,IAAI,IAAI,GAAG,EAAE,SAAS,MAAM,GAAG,EAAE,IAAI;AACxF,QAAI,WAAW,QAAQ;AACrB,cAAQ,OAAO,cAAU,4BAAiB,IAAI,CAAC;AAAA,IACjD,WAAW,WAAW,UAAU;AAC9B,cAAQ,OAAO,UAAU,OAAO,KAAK,MAAM,QAAQ,CAAC;AAAA,IACtD,OAAO;AACL,YAAM,OAAO,MAAM,KAAK,IAAI,cAAc,IAAuB,KAAK,EAAE,cAAc,SAAS,CAAC;AAChG,cAAQ,OAAO,UAAU,IAAI;AAAA,IAC/B;AAEA,QAAI,SAAS,SAAS,SAAS,SAAS;AACtC,cAAQ,OAAO,cAAc,SAAS;AACtC,YAAM,EAAE,KAAK,IAAI,MAAM,KAAK,IAAI,SAAS,YAAY,OAAO;AAC5D,aAAO;AAAA,QACL,MAAM;AAAA,QACN,MAAM;AAAA,UACJ,WAAW,KAAK;AAAA,QAClB;AAAA,MACF;AAAA,IACF,OAAO;AACL,UAAI,UAAuB;AAC3B,UAAI,SAAS,SAAS;AAEpB,gBAAQ,OAAO,aAAa,MAAM;AAClC,kBAAU;AAAA,MACZ,WAAW,SAAS,SAAS;AAE3B,gBAAQ,OAAO,aAAa,KAAK;AACjC,kBAAU;AAAA,MACZ,OAAO;AACL,cAAM,MAAM,SAAS,MAAM,GAAG,EAAE,IAAI;AACpC,YAAI,CAAC,OAAO,OAAO,KAAK,EAAE,SAAS,GAAG,GAAG;AACvC,kBAAQ,OAAO,aAAa,GAAG;AAAA,QACjC,OAAO;AACL,kBAAQ,OAAO,aAAa,QAAQ;AAAA,QACtC;AAAA,MACF;AACA,cAAQ,OAAO,aAAa,QAAQ;AACpC,YAAM,EAAE,KAAK,IAAI,MAAM,KAAK,IAAI,SAAS,WAAW,OAAO;AAC3D,aAAO;AAAA,QACL,MAAM;AAAA,QACN,MAAM;AAAA,UACJ,UAAU,KAAK;AAAA,QACjB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAM,MAAM,SAAY;AACtB,UAAM,EAAE,MAAM,OAAO,SAAS,IAAI;AAElC,YAAQ,MAAM;AAAA,MACZ,KAAK;AACH,aAAK,WAAW,MAAM;AACtB;AAAA,MACF,KAAK,MAAM;AACT,YAAI,MAAM,SAAS,OAAO;AACxB,eAAK,WAAW,qBAAqB,MAAM,QAAQ,KAAK;AAAA,QAC1D,OAAO;AACL,eAAK,WAAW,gBAAgB,MAAM,EAAE,KAAK,MAAM,IAAI;AAAA,QACzD;AACA;AAAA,MACF;AAAA,MACA,KAAK;AACH,cAAM,KAAK,OAAO,QAAQ;AAC1B,YAAI,MAAM;AAAM,eAAK,WAAW,KAAK,MAAM,IAAI;AAC/C;AAAA,MACF,KAAK;AACH,YAAI,CAAC,KAAK,QAAQ,SAAS,IAAI;AAAG,eAAK,WAAW;AAClD,cAAM,KAAK,OAAO,QAAQ;AAC1B,YAAI,CAAC,KAAK,QAAQ,SAAS,IAAI;AAAG,eAAK,WAAW;AAClD;AAAA,MACF,KAAK;AACH,aAAK,WAAW;AAChB;AAAA,MACF,KAAK;AAEH;AAAA,MACF,KAAK;AACH,cAAM,KAAK,MAAM;AACjB,aAAK,QAAQ,MAAM;AACnB;AAAA,MACF,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,YAAI,MAAM,OAAO,MAAM,KAAK;AAC1B,gBAAM,KAAK,MAAM;AACjB,eAAK,WAAW,MAAM,KAAK,SAAS,MAAM,MAAM,OAAO,MAAM,GAAG;AAAA,QAClE;AACA;AAAA,MACF,KAAK;AAAA,MACL,KAAK;AACH,cAAM,KAAK,MAAM;AACjB,cAAM,KAAK,OAAO,UAAU,IAAI;AAChC;AAAA,MACF;AACE,cAAM,KAAK,OAAO,QAAQ;AAAA,IAC9B;AAAA,EACF;AACF;;;ACvLA;AAAA;AAAA;AAAA;;;ACAA,IAAAC,oBAAqB;AACrB,IAAAC,iBAAyC;AAclC,IAAM,WAAN,MAAM,UAAS;AAAA,EACpB,YAAoB,KAAc;AAAd;AAAA,EAAe;AAAA,EAhBrC,OAesB;AAAA;AAAA;AAAA,EAGZ,eAAe,UAA6B;AAClD,UAAM,EAAE,MAAM,IAAI,IAAI;AACtB,QAAI,SAAS,GAAG;AACd,aAAO;AAAA,IACT,OAAO;AACL,WAAK,IAAI,OAAO,MAAM,gBAAgB,QAAQ;AAC9C,YAAM,IAAI,MAAM,uCAAuC,IAAI,mBAAmB,GAAG,GAAG;AAAA,IACtF;AAAA,EACF;AAAA,EAEA,OAAO,OAAO,QAA0D;AACtE,eAAW,QAAQ,QAAQ;AACzB,iBAAW,OAAO,OAAO,IAAI,GAAG;AAC9B,cAAM,SAAS;AACf,mBAAW,YAAQ,0BAAU,OAAO,IAAI,EAAE,MAAM,CAAC,GAAG;AAClD,oBAAS,UAAU,IAAI,IAAI,kBAAmC,MAAa;AACzE,kBAAM,MAAM,KAAK,KAAK,IAAI;AAC1B,kBAAM,MAAM,KAAK,QAAQ,gBAAgB,MAAM;AAC7C,kBAAI,CAAC,KAAK;AAAQ,sBAAM,IAAI,MAAM,yBAAyB,IAAI,cAAc,GAAG,EAAE;AAClF,qBAAO,KAAK,MAAM;AAAA,YACpB,CAAC;AACD,kBAAM,SAAgC,CAAC;AACvC,gBAAI,KAAK,WAAW,GAAG;AACrB,kBAAI,WAAW,SAAS,WAAW,UAAU;AAC3C,uBAAO,SAAS,KAAK,CAAC;AAAA,cACxB,OAAO;AACL,oBAAI,WAAW,UAAU,KAAK,CAAC,aAAa,kBAAAC,SAAU;AACpD,yBAAO,UAAU,KAAK,CAAC,EAAE,WAAW;AAAA,gBACtC;AACA,uBAAO,OAAO,KAAK,CAAC;AAAA,cACtB;AAAA,YACF,WAAW,KAAK,WAAW,KAAK,WAAW,SAAS,WAAW,UAAU;AACvE,qBAAO,OAAO,KAAK,CAAC;AACpB,qBAAO,SAAS,KAAK,CAAC;AAAA,YACxB,WAAW,KAAK,SAAS,GAAG;AAC1B,oBAAM,IAAI,MAAM,0BAA0B,IAAI,cAAc,GAAG,EAAE;AAAA,YACnE;AACA,mBAAO,KAAK,eAAe,MAAM,KAAK,IAAI,KAAK,QAAQ,KAAK,MAAM,CAAC;AAAA,UACrE;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;ACfA,SAAS,OAAO;AAAA,EACd,sCAAsC;AAAA,IACpC,MAAM;AAAA,EACR;AAAA,EACA,yCAAyC;AAAA,IACvC,MAAM;AAAA,EACR;AACF,CAAC;;;ACAD,SAAS,OAAO;AAAA,EACd,gBAAgB;AAAA,IACd,KAAK;AAAA,EACP;AAAA,EACA,0BAA0B;AAAA,IACxB,KAAK;AAAA,EACP;AAAA,EACA,kCAAkC;AAAA,IAChC,KAAK;AAAA,EACP;AACF,CAAC;;;ACrBD,SAAS,OAAO;AAAA,EACd,iBAAiB;AAAA,IACf,MAAM;AAAA,EACR;AAAA,EACA,gBAAgB;AAAA,IACd,MAAM;AAAA,EACR;AACF,CAAC;;;ACgLD,SAAS,OAAO;AAAA,EACd,mBAAmB;AAAA,IACjB,KAAK;AAAA,EACP;AAAA,EACA,qDAAqD;AAAA,IACnD,MAAM;AAAA,EACR;AAAA,EACA,sCAAsC;AAAA,IACpC,MAAM;AAAA,EACR;AAAA,EACA,gCAAgC;AAAA,IAC9B,KAAK;AAAA,IACL,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AAAA,EACA,2CAA2C;AAAA,IACzC,KAAK;AAAA,EACP;AAAA,EACA,0EAA0E;AAAA,IACxE,MAAM;AAAA,EACR;AAAA,EACA,mEAAmE;AAAA,IACjE,MAAM;AAAA,EACR;AACF,CAAC;;;ATlPM,IAAM,UAAN,cAAmD,mBAAuB;AAAA,EAPjF,OAOiF;AAAA;AAAA;AAAA,EAC/E,OAAO,SAAS,CAAC,UAAU,MAAM;AAAA,EACjC,OAAO,iBAAiB;AAAA,EAExB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA,YAAY,KAAQ,QAAwB;AAC1C,UAAM,KAAK,QAAQ,MAAM;AAGzB,QAAI,CAAC,OAAO,WAAW,CAAC,IAAI,OAAO,OAAO,SAAS;AACjD,WAAK,OAAO,KAAK,gDAAgD;AAAA,IACnE;AAEA,SAAK,SAAS,OAAO;AACrB,SAAK,OAAO,IAAI,KAAK,OAAO;AAAA,MAC1B,UAAU,OAAO;AAAA,MACjB,SAAS;AAAA,QACP,gBAAgB;AAAA,MAClB;AAAA,IACF,CAAC;AACD,SAAK,gBAAgB,IAAI;AACzB,SAAK,WAAW,IAAI,SAAS,IAAI;AAEjC,QAAI,OAAO,YAAY,IAAI;AAAA,EAC7B;AAAA,EAEA,MAAM,aAAa;AACjB,UAAM,KAAK,aAAa;AACxB,SAAK,OAAO;AAAA,EACd;AAAA,EAEA,MAAc,eAAe;AAC3B,UAAM,EAAE,qBAAqB,MAAM,IAAI,MAAM,KAAK,SAAS,qBAAqB;AAAA,MAC9E,QAAQ,KAAK,OAAO;AAAA,MACpB,YAAY,KAAK,OAAO;AAAA,IAC1B,CAAC;AACD,SAAK,OAAO,MAAM,sBAAsB,KAAK;AAC7C,SAAK,QAAQ;AAGb,QAAI,KAAK;AAAY,mBAAa,KAAK,UAAU;AACjD,SAAK,aAAa,WAAW,MAAM,KAAK,aAAa,GAAG,OAAO,GAAI;AACnE,SAAK,OAAO;AAAA,EACd;AAAA,EAEA,IAAI,QAAQ;AACV,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,MAAM,GAAW;AACnB,SAAK,SAAS;AACd,SAAK,KAAK,OAAO,QAAQ,gBAAgB,UAAU,CAAC;AAAA,EACtD;AAAA,EAEA,MAAM,YAAY,WAAmB,WAAmB,SAAqB;AAC3E,UAAM,KAAK,SAAS,cAAc,WAAW;AAAA,MAC3C,SAAS,iBAAE,UAAU,OAAO,EAAE,KAAK,EAAE;AAAA,MACrC,UAAU;AAAA,IACZ,CAAC;AAAA,EACH;AAAA,EAEA,MAAM,cAAc,WAAmB,WAAmB;AACxD,UAAM,KAAK,SAAS,cAAc,SAAS;AAAA,EAC7C;AAAA,EAEA,MAAM,WAAW,WAAmB,WAAmB;AACrD,UAAM,OAAO,MAAM,KAAK,SAAS,WAAW,SAAS;AACrD,WAAO,MAAY,cAAc,MAAM,KAAK,IAAI;AAAA,EAClD;AAAA,EAEA,MAAM,eAAe,WAAmB,QAAiB;AACvD,UAAM,EAAE,MAAM,SAAS,IAAI,MAAM,KAAK,SAAS,eAAe,EAAE,mBAAmB,QAAQ,cAAc,WAAW,YAAY,OAAO,CAAC;AACxI,UAAM,OAAO,MAAM,QAAQ,IAAI,SAAS,MAAM,QAAQ,EAAE,IAAI,CAAAC,UAAc,cAAc,MAAMA,KAAI,CAAC,CAAC;AACpG,WAAO,EAAE,MAAM,MAAM,KAAK,CAAC,GAAG,GAAG;AAAA,EACnC;AAAA,EAEA,MAAM,QAAQ,QAAgB,SAAkB;AAC9C,UAAM,OAAO,MAAM,KAAK,SAAS,eAAe,MAAM;AACtD,WAAa,WAAW,KAAK,IAAI;AAAA,EACnC;AAAA,EAEA,MAAM,WAAW,WAAmB;AAClC,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,SAAS,aAAa,SAAS;AAC3D,WAAa,cAAc,IAAI;AAAA,EACjC;AAAA,EAEA,MAAM,eAAe,SAAiB;AACpC,WAAO,EAAE,MAAM,CAAC,MAAM,KAAK,WAAW,OAAO,CAAC,EAAE;AAAA,EAClD;AAAA,EAEA,MAAM,SAAS,SAAiB;AAC9B,UAAM,EAAE,KAAK,IAAI,MAAM,KAAK,SAAS,aAAa,OAAO;AACzD,WAAa,YAAY,IAAI;AAAA,EAC/B;AAAA,EAEA,MAAM,aAAa,OAAgB;AACjC,UAAM,EAAE,MAAM,OAAO,IAAI,MAAM,KAAK,SAAS,qBAAqB,EAAE,YAAY,MAAM,CAAC;AACvF,WAAO,EAAE,MAAM,OAAO,MAAM,IAAU,WAAW,GAAG,MAAM,OAAO,WAAW;AAAA,EAC9E;AAAA,EAEA,MAAM,mBAAmB,SAAiB,OAAgB;AACxD,UAAM,EAAE,MAAM,MAAM,IAAI,MAAM,KAAK,SAAS,gBAAgB,SAAS,EAAE,YAAY,MAAM,CAAC;AAC1F,UAAM,OAAO,MAAM,MAAM,IAAI,QAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,MAAM,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,EAAE;AAC7F,WAAO,EAAE,MAAM,MAAM,MAAM,WAAW;AAAA,EACxC;AACF;AAAA,CAEO,CAAUC,aAAV;AAQE,EAAMA,SAAA,SAAyB,sBAAO,UAAU;AAAA,IACrD,sBAAO,OAAO;AAAA,MACZ,UAAU,sBAAO,MAAM,CAAC,UAAU,MAAM,CAAC,EAAE,SAAS,EAAE,YAAY,OAAO;AAAA,MACzE,OAAO,sBAAO,OAAO,EAAE,SAAS,EAAE,YAAY,YAAY;AAAA,MAC1D,WAAW,sBAAO,OAAO,EAAE,KAAK,QAAQ,EAAE,SAAS,EAAE,YAAY,WAAW;AAAA,MAC5E,YAAY,sBAAO,OAAO,EAAE,KAAK,QAAQ,EAAE,YAAY,mBAAmB;AAAA,MAC1E,mBAAmB,sBAAO,OAAO,EAAE,YAAY,YAAY;AAAA,IAC7D,CAAC;AAAA,IACD,sBAAO,MAAM;AAAA,MACX,sBAAO,UAAU;AAAA,QACf,sBAAO,OAAO;AAAA,UACZ,UAAU,sBAAO,MAAM,QAAQ,EAAE,SAAS;AAAA,QAC5C,CAAC;AAAA,QACD,uBAAQ,aAAa,mCAAmC;AAAA,QACxD,WAAW,aAAa,SAAS;AAAA,MACnC,CAAC;AAAA,MACD,sBAAO,UAAU;AAAA,QACf,sBAAO,OAAO;AAAA,UACZ,UAAU,sBAAO,MAAM,MAAM,EAAE,SAAS;AAAA,QAC1C,CAAC;AAAA,QACD,uBAAQ,aAAa,uCAAuC;AAAA,QAC5D,WAAW,aAAa,OAAO;AAAA,MACjC,CAAC;AAAA,IACH,CAAC;AAAA,EACH,CAAC;AAAA,GAhCc;;;ADhHjB,IAAO,cAAQ;",
|
|
5
|
+
"names": ["import_satori", "import_satori", "mention", "crypto", "bot", "body", "HttpServer", "import_satori", "FormData", "import_form_data", "import_satori", "FormData", "data", "LarkBot"]
|
|
6
6
|
}
|
package/lib/message.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export declare class LarkMessageEncoder<C extends Context = Context> extends Mes
|
|
|
12
12
|
private richText;
|
|
13
13
|
post(data?: any): Promise<void>;
|
|
14
14
|
flush(): Promise<void>;
|
|
15
|
-
sendFile(type: 'image' | 'video' | 'audio' | 'file', url: string): Promise<Addition>;
|
|
15
|
+
sendFile(type: 'img' | 'image' | 'video' | 'audio' | 'file', url: string): Promise<Addition>;
|
|
16
16
|
visit(element: h): Promise<void>;
|
|
17
17
|
}
|
|
18
18
|
export { LarkMessageEncoder as FeishuMessageEncoder };
|
package/lib/utils.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import {
|
|
3
|
-
import { Context, Session } from '@satorijs/satori';
|
|
2
|
+
import { Context, Session, Universal } from '@satorijs/satori';
|
|
4
3
|
import { FeishuBot, LarkBot } from './bot';
|
|
5
4
|
import { AllEvents, Events, Lark, Message as LarkMessage } from './types';
|
|
6
5
|
export type Sender = {
|
|
@@ -14,15 +13,15 @@ export type Sender = {
|
|
|
14
13
|
export declare function adaptSender(sender: Sender, session: Session): Session;
|
|
15
14
|
export declare function adaptMessage(bot: FeishuBot, data: Events['im.message.receive_v1']['event'], session: Session): Session;
|
|
16
15
|
export declare function adaptSession<C extends Context>(bot: FeishuBot<C>, body: AllEvents): C[typeof Context.session];
|
|
17
|
-
export declare function decodeMessage(bot: LarkBot, body: LarkMessage): Promise<Message>;
|
|
16
|
+
export declare function decodeMessage(bot: LarkBot, body: LarkMessage): Promise<Universal.Message>;
|
|
18
17
|
/**
|
|
19
18
|
* Get ID type from id string
|
|
20
19
|
* @see https://open.larksuite.com/document/home/user-identity-introduction/introduction
|
|
21
20
|
*/
|
|
22
21
|
export declare function extractIdType(id: string): Lark.ReceiveIdType;
|
|
23
|
-
export declare function decodeChannel(guild: Lark.Guild): Channel;
|
|
24
|
-
export declare function decodeGuild(guild: Lark.Guild): Guild;
|
|
25
|
-
export declare function decodeUser(user: Lark.User): User;
|
|
22
|
+
export declare function decodeChannel(guild: Lark.Guild): Universal.Channel;
|
|
23
|
+
export declare function decodeGuild(guild: Lark.Guild): Universal.Guild;
|
|
24
|
+
export declare function decodeUser(user: Lark.User): Universal.User;
|
|
26
25
|
export declare class Cipher {
|
|
27
26
|
encryptKey: string;
|
|
28
27
|
key: Buffer;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@satorijs/adapter-lark",
|
|
3
3
|
"description": "Lark (飞书) Adapter for Satorijs",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.4.0-alpha.0",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
7
7
|
"files": [
|
|
@@ -33,10 +33,10 @@
|
|
|
33
33
|
"chat"
|
|
34
34
|
],
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@cordisjs/server": "^0.1.
|
|
36
|
+
"@cordisjs/server": "^0.1.7"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
|
-
"@satorijs/satori": "^3.
|
|
39
|
+
"@satorijs/satori": "^3.6.0-alpha.0"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"form-data": "^4.0.0"
|
package/src/bot.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { Internal } from './types'
|
|
|
6
6
|
import * as Utils from './utils'
|
|
7
7
|
|
|
8
8
|
export class LarkBot<C extends Context = Context> extends Bot<C, LarkBot.Config> {
|
|
9
|
-
static inject = ['server']
|
|
9
|
+
static inject = ['server', 'http']
|
|
10
10
|
static MessageEncoder = LarkMessageEncoder
|
|
11
11
|
|
|
12
12
|
_token?: string
|
|
@@ -118,7 +118,7 @@ export class LarkBot<C extends Context = Context> extends Bot<C, LarkBot.Config>
|
|
|
118
118
|
}
|
|
119
119
|
|
|
120
120
|
export namespace LarkBot {
|
|
121
|
-
export interface Config extends HttpServer.
|
|
121
|
+
export interface Config extends HttpServer.Options, Quester.Config {
|
|
122
122
|
appId: string
|
|
123
123
|
appSecret: string
|
|
124
124
|
encryptKey?: string
|
package/src/http.ts
CHANGED
|
@@ -85,7 +85,7 @@ export class HttpServer<C extends Context = Context> extends Adapter<C, FeishuBo
|
|
|
85
85
|
const bot = this.bots.find((bot) => bot.selfId === selfId)
|
|
86
86
|
if (!bot) return ctx.status = 404
|
|
87
87
|
|
|
88
|
-
const resp = await bot.http
|
|
88
|
+
const resp = await bot.http<internal.Readable>(`/im/v1/messages/${messageId}/resources/${key}`, {
|
|
89
89
|
method: 'GET',
|
|
90
90
|
params: { type },
|
|
91
91
|
responseType: 'stream',
|
|
@@ -141,14 +141,14 @@ export class HttpServer<C extends Context = Context> extends Adapter<C, FeishuBo
|
|
|
141
141
|
}
|
|
142
142
|
|
|
143
143
|
export namespace HttpServer {
|
|
144
|
-
export interface
|
|
144
|
+
export interface Options {
|
|
145
145
|
selfUrl?: string
|
|
146
146
|
path?: string
|
|
147
147
|
verifyToken?: boolean
|
|
148
148
|
verifySignature?: boolean
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
-
export const createConfig = (path: string): Schema<
|
|
151
|
+
export const createConfig = (path: string): Schema<Options> => Schema.object({
|
|
152
152
|
path: Schema.string().role('url').description('要连接的服务器地址。').default(path),
|
|
153
153
|
selfUrl: Schema.string().role('link').description('服务器暴露在公网的地址。缺省时将使用全局配置。'),
|
|
154
154
|
verifyToken: Schema.boolean().description('是否验证令牌。'),
|
package/src/message.ts
CHANGED
|
@@ -75,10 +75,10 @@ export class LarkMessageEncoder<C extends Context = Context> extends MessageEnco
|
|
|
75
75
|
this.richText = undefined
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
async sendFile(type: 'image' | 'video' | 'audio' | 'file', url: string): Promise<Addition> {
|
|
78
|
+
async sendFile(type: 'img' | 'image' | 'video' | 'audio' | 'file', url: string): Promise<Addition> {
|
|
79
79
|
const payload = new FormData()
|
|
80
80
|
|
|
81
|
-
const assetKey = type === 'image' ? 'image' : 'file'
|
|
81
|
+
const assetKey = type === 'img' || type === 'image' ? 'image' : 'file'
|
|
82
82
|
const [schema, file] = url.split('://')
|
|
83
83
|
const filename = schema === 'base64' ? 'unknown' : new URL(url).pathname.split('/').pop()
|
|
84
84
|
if (schema === 'file') {
|
|
@@ -90,7 +90,7 @@ export class LarkMessageEncoder<C extends Context = Context> extends MessageEnco
|
|
|
90
90
|
payload.append(assetKey, resp)
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
-
if (type === 'image') {
|
|
93
|
+
if (type === 'img' || type === 'image') {
|
|
94
94
|
payload.append('image_type', 'message')
|
|
95
95
|
const { data } = await this.bot.internal.uploadImage(payload)
|
|
96
96
|
return {
|
|
@@ -162,13 +162,14 @@ export class LarkMessageEncoder<C extends Context = Context> extends MessageEnco
|
|
|
162
162
|
await this.flush()
|
|
163
163
|
this.quote = attrs.id
|
|
164
164
|
break
|
|
165
|
+
case 'img':
|
|
165
166
|
case 'image':
|
|
166
167
|
case 'video':
|
|
167
168
|
case 'audio':
|
|
168
169
|
case 'file':
|
|
169
|
-
if (attrs.url) {
|
|
170
|
+
if (attrs.src || attrs.url) {
|
|
170
171
|
await this.flush()
|
|
171
|
-
this.addition = await this.sendFile(type, attrs.url)
|
|
172
|
+
this.addition = await this.sendFile(type, attrs.src || attrs.url)
|
|
172
173
|
}
|
|
173
174
|
break
|
|
174
175
|
case 'figure': // FIXME: treat as message element for now
|
package/src/types/internal.ts
CHANGED
|
@@ -37,7 +37,7 @@ export class Internal {
|
|
|
37
37
|
if (!args.length) throw new Error(`too few arguments for ${path}, received ${raw}`)
|
|
38
38
|
return args.shift()
|
|
39
39
|
})
|
|
40
|
-
const config: Quester.
|
|
40
|
+
const config: Quester.RequestConfig = {}
|
|
41
41
|
if (args.length === 1) {
|
|
42
42
|
if (method === 'GET' || method === 'DELETE') {
|
|
43
43
|
config.params = args[0]
|
package/src/utils.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import crypto from 'crypto'
|
|
2
|
-
import {
|
|
3
|
-
import { Context, h, Session, trimSlash } from '@satorijs/satori'
|
|
2
|
+
import { Context, h, Session, trimSlash, Universal } from '@satorijs/satori'
|
|
4
3
|
import { FeishuBot, LarkBot } from './bot'
|
|
5
4
|
import { AllEvents, Events, Lark, Message as LarkMessage, MessageContentType, MessageType } from './types'
|
|
6
5
|
|
|
@@ -86,7 +85,7 @@ export function adaptSession<C extends Context>(bot: FeishuBot<C>, body: AllEven
|
|
|
86
85
|
}
|
|
87
86
|
|
|
88
87
|
// TODO: This function has many duplicated code with `adaptMessage`, should refactor them
|
|
89
|
-
export async function decodeMessage(bot: LarkBot, body: LarkMessage): Promise<Message> {
|
|
88
|
+
export async function decodeMessage(bot: LarkBot, body: LarkMessage): Promise<Universal.Message> {
|
|
90
89
|
const json = JSON.parse(body.body.content) as MessageContentType<MessageType>
|
|
91
90
|
const assetEndpoint = trimSlash(bot.config.selfUrl ?? bot.ctx.server.config.selfUrl) + bot.config.path + '/assets'
|
|
92
91
|
const content: h[] = []
|
|
@@ -146,16 +145,16 @@ export function extractIdType(id: string): Lark.ReceiveIdType {
|
|
|
146
145
|
return 'user_id'
|
|
147
146
|
}
|
|
148
147
|
|
|
149
|
-
export function decodeChannel(guild: Lark.Guild): Channel {
|
|
148
|
+
export function decodeChannel(guild: Lark.Guild): Universal.Channel {
|
|
150
149
|
return {
|
|
151
150
|
id: guild.chat_id,
|
|
152
|
-
type: Channel.Type.TEXT,
|
|
151
|
+
type: Universal.Channel.Type.TEXT,
|
|
153
152
|
name: guild.name,
|
|
154
153
|
parentId: guild.chat_id,
|
|
155
154
|
}
|
|
156
155
|
}
|
|
157
156
|
|
|
158
|
-
export function decodeGuild(guild: Lark.Guild): Guild {
|
|
157
|
+
export function decodeGuild(guild: Lark.Guild): Universal.Guild {
|
|
159
158
|
return {
|
|
160
159
|
id: guild.chat_id,
|
|
161
160
|
name: guild.name,
|
|
@@ -163,7 +162,7 @@ export function decodeGuild(guild: Lark.Guild): Guild {
|
|
|
163
162
|
}
|
|
164
163
|
}
|
|
165
164
|
|
|
166
|
-
export function decodeUser(user: Lark.User): User {
|
|
165
|
+
export function decodeUser(user: Lark.User): Universal.User {
|
|
167
166
|
return {
|
|
168
167
|
id: user.open_id,
|
|
169
168
|
avatar: user.avatar?.avatar_origin,
|