kook-client 1.0.0 → 1.0.2
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/README.md +2 -2
- package/lib/client.js +15 -21
- package/lib/constans.js +7 -10
- package/lib/core/baseClient.js +31 -53
- package/lib/core/receiver.js +12 -16
- package/lib/core/receivers/index.js +2 -7
- package/lib/core/receivers/webhook.js +3 -7
- package/lib/core/receivers/websocket.js +17 -20
- package/lib/elements.js +31 -33
- package/lib/entries/channel.js +9 -13
- package/lib/entries/channelMember.js +3 -7
- package/lib/entries/contact.js +1 -5
- package/lib/entries/guild.js +8 -12
- package/lib/entries/guildMember.js +3 -7
- package/lib/entries/user.js +9 -13
- package/lib/event/index.js +1 -17
- package/lib/event/message.js +6 -11
- package/lib/index.d.ts +8 -20
- package/lib/index.js +7 -23
- package/lib/message.js +16 -20
- package/lib/tsconfig.build.tsbuildinfo +1 -1
- package/lib/types.js +1 -2
- package/lib/utils.js +13 -61
- package/package.json +2 -1
package/lib/entries/channel.js
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const _1 = require("..");
|
|
6
|
-
const event_1 = require("../event");
|
|
7
|
-
class Channel extends contact_1.Contact {
|
|
1
|
+
import { Contact } from "./contact.js";
|
|
2
|
+
import { Message } from "../index.js";
|
|
3
|
+
import { ChannelMessageEvent } from "../event/index.js";
|
|
4
|
+
export class Channel extends Contact {
|
|
8
5
|
constructor(c, info) {
|
|
9
6
|
super(c);
|
|
10
7
|
this.info = info;
|
|
@@ -44,7 +41,7 @@ class Channel extends contact_1.Contact {
|
|
|
44
41
|
msg_id: message_id
|
|
45
42
|
}
|
|
46
43
|
});
|
|
47
|
-
return
|
|
44
|
+
return ChannelMessageEvent.fromDetail(this.c, this.info.id, data);
|
|
48
45
|
}
|
|
49
46
|
async getUserList() {
|
|
50
47
|
const { data } = await this.c.request.get('/v3/channel/user-list', {
|
|
@@ -66,11 +63,11 @@ class Channel extends contact_1.Contact {
|
|
|
66
63
|
page_size: len
|
|
67
64
|
});
|
|
68
65
|
return (result?.data?.items || []).map((item) => {
|
|
69
|
-
return
|
|
66
|
+
return ChannelMessageEvent.fromDetail(this.c, this.info.id, item);
|
|
70
67
|
});
|
|
71
68
|
}
|
|
72
69
|
async sendMsg(message, quote) {
|
|
73
|
-
const [content, quoteObj, type] = await
|
|
70
|
+
const [content, quoteObj, type] = await Message.processMessage.call(this.c, message, quote);
|
|
74
71
|
const { data } = await this.c.request.post('/v3/message/create', {
|
|
75
72
|
target_id: this.info.id,
|
|
76
73
|
content, // 处理后的内容(图片URL / 文本 / Markdown / Card JSON)
|
|
@@ -89,7 +86,7 @@ class Channel extends contact_1.Contact {
|
|
|
89
86
|
return result['code'] === 0;
|
|
90
87
|
}
|
|
91
88
|
async updateMsg(message_id, newMessage, quote) {
|
|
92
|
-
[newMessage, quote] = await
|
|
89
|
+
[newMessage, quote] = await Message.processMessage.call(this.c, newMessage, quote);
|
|
93
90
|
const result = await this.c.request.post('/v3/message/update', {
|
|
94
91
|
msg_id: message_id,
|
|
95
92
|
content: newMessage,
|
|
@@ -120,7 +117,6 @@ class Channel extends contact_1.Contact {
|
|
|
120
117
|
});
|
|
121
118
|
}
|
|
122
119
|
}
|
|
123
|
-
exports.Channel = Channel;
|
|
124
120
|
(function (Channel) {
|
|
125
121
|
Channel.map = new WeakMap();
|
|
126
122
|
function as(channel_id) {
|
|
@@ -134,4 +130,4 @@ exports.Channel = Channel;
|
|
|
134
130
|
return channel;
|
|
135
131
|
}
|
|
136
132
|
Channel.as = as;
|
|
137
|
-
})(Channel || (
|
|
133
|
+
})(Channel || (Channel = {}));
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.ChannelMember = void 0;
|
|
4
|
-
const user_1 = require("../entries/user");
|
|
5
|
-
class ChannelMember extends user_1.User {
|
|
1
|
+
import { User } from "./user.js";
|
|
2
|
+
export class ChannelMember extends User {
|
|
6
3
|
constructor(c, channel_id, info) {
|
|
7
4
|
super(c, info);
|
|
8
5
|
this.channel_id = channel_id;
|
|
@@ -14,7 +11,6 @@ class ChannelMember extends user_1.User {
|
|
|
14
11
|
return this.channel.addUsers([this.info.id]);
|
|
15
12
|
}
|
|
16
13
|
}
|
|
17
|
-
exports.ChannelMember = ChannelMember;
|
|
18
14
|
(function (ChannelMember) {
|
|
19
15
|
ChannelMember.map = new WeakMap();
|
|
20
16
|
function as(channel_id, user_id) {
|
|
@@ -28,4 +24,4 @@ exports.ChannelMember = ChannelMember;
|
|
|
28
24
|
return member;
|
|
29
25
|
}
|
|
30
26
|
ChannelMember.as = as;
|
|
31
|
-
})(ChannelMember || (
|
|
27
|
+
})(ChannelMember || (ChannelMember = {}));
|
package/lib/entries/contact.js
CHANGED
package/lib/entries/guild.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const contact_1 = require("../entries/contact");
|
|
5
|
-
const constans_1 = require("../constans");
|
|
6
|
-
class Guild extends contact_1.Contact {
|
|
1
|
+
import { Contact } from "./contact.js";
|
|
2
|
+
import { UnsupportedMethodError } from "../constans.js";
|
|
3
|
+
export class Guild extends Contact {
|
|
7
4
|
constructor(c, info) {
|
|
8
5
|
super(c);
|
|
9
6
|
this.info = info;
|
|
@@ -79,19 +76,18 @@ class Guild extends contact_1.Contact {
|
|
|
79
76
|
return data;
|
|
80
77
|
}
|
|
81
78
|
async sendMsg(message, quote) {
|
|
82
|
-
throw
|
|
79
|
+
throw UnsupportedMethodError;
|
|
83
80
|
}
|
|
84
81
|
recallMsg(message_id) {
|
|
85
|
-
throw
|
|
82
|
+
throw UnsupportedMethodError;
|
|
86
83
|
}
|
|
87
84
|
updateMsg(message_id, newMessage) {
|
|
88
|
-
throw
|
|
85
|
+
throw UnsupportedMethodError;
|
|
89
86
|
}
|
|
90
87
|
getMsg(message_id) {
|
|
91
|
-
throw
|
|
88
|
+
throw UnsupportedMethodError;
|
|
92
89
|
}
|
|
93
90
|
}
|
|
94
|
-
exports.Guild = Guild;
|
|
95
91
|
(function (Guild) {
|
|
96
92
|
Guild.map = new WeakMap();
|
|
97
93
|
function as(guild_id) {
|
|
@@ -136,4 +132,4 @@ exports.Guild = Guild;
|
|
|
136
132
|
Permission[Permission["UpdateOtherUserNickname"] = 67108864] = "UpdateOtherUserNickname";
|
|
137
133
|
Permission[Permission["PlayMusic"] = 134217728] = "PlayMusic";
|
|
138
134
|
})(Permission = Guild.Permission || (Guild.Permission = {}));
|
|
139
|
-
})(Guild || (
|
|
135
|
+
})(Guild || (Guild = {}));
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.GuildMember = void 0;
|
|
4
|
-
const user_1 = require("../entries/user");
|
|
5
|
-
class GuildMember extends user_1.User {
|
|
1
|
+
import { User } from "./user.js";
|
|
2
|
+
export class GuildMember extends User {
|
|
6
3
|
constructor(c, guild_id, info) {
|
|
7
4
|
super(c, info);
|
|
8
5
|
this.guild_id = guild_id;
|
|
@@ -56,7 +53,6 @@ class GuildMember extends user_1.User {
|
|
|
56
53
|
return this.guild.kick(this.info.id);
|
|
57
54
|
}
|
|
58
55
|
}
|
|
59
|
-
exports.GuildMember = GuildMember;
|
|
60
56
|
(function (GuildMember) {
|
|
61
57
|
GuildMember.map = new WeakMap();
|
|
62
58
|
function as(guild_id, user_id) {
|
|
@@ -70,4 +66,4 @@ exports.GuildMember = GuildMember;
|
|
|
70
66
|
return member;
|
|
71
67
|
}
|
|
72
68
|
GuildMember.as = as;
|
|
73
|
-
})(GuildMember || (
|
|
69
|
+
})(GuildMember || (GuildMember = {}));
|
package/lib/entries/user.js
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const _1 = require("..");
|
|
6
|
-
const event_1 = require("../event");
|
|
7
|
-
class User extends contact_1.Contact {
|
|
1
|
+
import { Contact } from "./contact.js";
|
|
2
|
+
import { Message } from "../index.js";
|
|
3
|
+
import { PrivateMessageEvent } from "../event/index.js";
|
|
4
|
+
export class User extends Contact {
|
|
8
5
|
constructor(c, info) {
|
|
9
6
|
super(c);
|
|
10
7
|
this.info = info;
|
|
@@ -12,7 +9,7 @@ class User extends contact_1.Contact {
|
|
|
12
9
|
async sendMsg(message, quote) {
|
|
13
10
|
let isCard;
|
|
14
11
|
// [message,quote,isCard]=await Message.processMessage.call(this.c,message,quote)
|
|
15
|
-
const [content, quoteObj, type] = await
|
|
12
|
+
const [content, quoteObj, type] = await Message.processMessage.call(this.c, message, quote);
|
|
16
13
|
const { data } = await this.c.request.post('/v3/direct-message/create', {
|
|
17
14
|
target_id: this.info.id,
|
|
18
15
|
content, // 处理后的内容(图片URL / 文本 / Markdown / Card JSON)
|
|
@@ -53,7 +50,7 @@ class User extends contact_1.Contact {
|
|
|
53
50
|
});
|
|
54
51
|
}
|
|
55
52
|
async updateMsg(message_id, newMessage, quote) {
|
|
56
|
-
[newMessage, quote] = await
|
|
53
|
+
[newMessage, quote] = await Message.processMessage.call(this.c, newMessage, quote);
|
|
57
54
|
const result = await this.c.request.post('/v3/direct-message/update', {
|
|
58
55
|
msg_id: message_id,
|
|
59
56
|
content: newMessage,
|
|
@@ -73,7 +70,7 @@ class User extends contact_1.Contact {
|
|
|
73
70
|
page_size: len
|
|
74
71
|
});
|
|
75
72
|
return (result?.data?.items || []).map((item) => {
|
|
76
|
-
return
|
|
73
|
+
return PrivateMessageEvent.fromDetail(this.c, this.info.id, item);
|
|
77
74
|
});
|
|
78
75
|
}
|
|
79
76
|
async getMsg(message_id) {
|
|
@@ -82,7 +79,7 @@ class User extends contact_1.Contact {
|
|
|
82
79
|
msg_id: message_id
|
|
83
80
|
}
|
|
84
81
|
});
|
|
85
|
-
return
|
|
82
|
+
return PrivateMessageEvent.fromDetail(this.c, this.info.id, data);
|
|
86
83
|
}
|
|
87
84
|
asGuildMember(guild_id) {
|
|
88
85
|
return this.c.pickGuildMember(guild_id, this.info.id);
|
|
@@ -91,7 +88,6 @@ class User extends contact_1.Contact {
|
|
|
91
88
|
return this.c.pickChannelMember(channel_id, this.info.id);
|
|
92
89
|
}
|
|
93
90
|
}
|
|
94
|
-
exports.User = User;
|
|
95
91
|
(function (User) {
|
|
96
92
|
User.map = new WeakMap();
|
|
97
93
|
function as(user_id, from_id) {
|
|
@@ -112,4 +108,4 @@ exports.User = User;
|
|
|
112
108
|
Permission[Permission["owner"] = 4] = "owner";
|
|
113
109
|
Permission[Permission["channelAdmin"] = 5] = "channelAdmin";
|
|
114
110
|
})(Permission = User.Permission || (User.Permission = {}));
|
|
115
|
-
})(User || (
|
|
111
|
+
})(User || (User = {}));
|
package/lib/event/index.js
CHANGED
|
@@ -1,17 +1 @@
|
|
|
1
|
-
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./message"), exports);
|
|
1
|
+
export * from "./message.js";
|
package/lib/event/message.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const message_1 = require("../message");
|
|
5
|
-
const constans_1 = require("../constans");
|
|
6
|
-
class PrivateMessageEvent extends message_1.Message {
|
|
1
|
+
import { Message } from "../message.js";
|
|
2
|
+
import { ChannelType } from "../constans.js";
|
|
3
|
+
export class PrivateMessageEvent extends Message {
|
|
7
4
|
constructor(client, payload) {
|
|
8
5
|
super(client, payload);
|
|
9
6
|
this.message_type = 'private';
|
|
@@ -13,7 +10,7 @@ class PrivateMessageEvent extends message_1.Message {
|
|
|
13
10
|
target_id: client.self_id === detail.author.id ? user_id : client.self_id,
|
|
14
11
|
author_id: detail.author.id,
|
|
15
12
|
type: detail.type,
|
|
16
|
-
channel_type:
|
|
13
|
+
channel_type: ChannelType.Private,
|
|
17
14
|
msg_id: detail.id,
|
|
18
15
|
msg_timestamp: detail.create_at,
|
|
19
16
|
content: detail.content,
|
|
@@ -40,8 +37,7 @@ class PrivateMessageEvent extends message_1.Message {
|
|
|
40
37
|
return this.author.sendMsg(message, quote && this);
|
|
41
38
|
}
|
|
42
39
|
}
|
|
43
|
-
|
|
44
|
-
class ChannelMessageEvent extends message_1.Message {
|
|
40
|
+
export class ChannelMessageEvent extends Message {
|
|
45
41
|
constructor(client, payload) {
|
|
46
42
|
super(client, payload);
|
|
47
43
|
this.channel_id = payload.target_id;
|
|
@@ -53,7 +49,7 @@ class ChannelMessageEvent extends message_1.Message {
|
|
|
53
49
|
target_id: channel_id,
|
|
54
50
|
author_id: detail.author.id,
|
|
55
51
|
type: detail.type,
|
|
56
|
-
channel_type:
|
|
52
|
+
channel_type: ChannelType.Channel,
|
|
57
53
|
msg_id: detail.id,
|
|
58
54
|
msg_timestamp: detail.create_at,
|
|
59
55
|
content: detail.content,
|
|
@@ -83,4 +79,3 @@ class ChannelMessageEvent extends message_1.Message {
|
|
|
83
79
|
return this.channel.deleteMsgReaction(this.message_id, emoji, user_id);
|
|
84
80
|
}
|
|
85
81
|
}
|
|
86
|
-
exports.ChannelMessageEvent = ChannelMessageEvent;
|
package/lib/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import * as log4js from 'log4js';
|
|
2
1
|
import { EventEmitter } from 'events';
|
|
3
2
|
import { BinaryLike } from 'crypto';
|
|
4
3
|
import { Stream } from 'node:stream';
|
|
5
4
|
import { AxiosInstance } from 'axios';
|
|
5
|
+
import log4js from 'log4js';
|
|
6
6
|
export type Dict<T = any, K extends string | symbol = string> = Record<K, T>;
|
|
7
7
|
export type LogLevel = "trace" | "debug" | "info" | "warn" | "error" | "fatal" | "mark" | "off";
|
|
8
8
|
export enum OpCode {
|
|
@@ -792,7 +792,13 @@ export interface EventMap {
|
|
|
792
792
|
'message.channel'(e: ChannelMessageEvent): void;
|
|
793
793
|
'message.private'(e: PrivateMessageEvent): void;
|
|
794
794
|
}
|
|
795
|
-
export
|
|
795
|
+
export interface EventMaps {
|
|
796
|
+
'message': [PrivateMessageEvent | ChannelMessageEvent];
|
|
797
|
+
'message.channel': [ChannelMessageEvent];
|
|
798
|
+
'message.private': [PrivateMessageEvent];
|
|
799
|
+
}
|
|
800
|
+
import type { EventMaps } from "event/index";
|
|
801
|
+
export class BaseClient extends EventEmitter<EventMaps> {
|
|
796
802
|
request: AxiosInstance;
|
|
797
803
|
self_id: string;
|
|
798
804
|
nickname: string;
|
|
@@ -810,24 +816,6 @@ export class BaseClient extends EventEmitter {
|
|
|
810
816
|
uploadMedia(data: string | Buffer): Promise<string>;
|
|
811
817
|
em(event: string, payload: Dict): void;
|
|
812
818
|
}
|
|
813
|
-
export interface KookClient {
|
|
814
|
-
on<T extends keyof EventMap>(event: T, callback: EventMap[T]): this;
|
|
815
|
-
on<S extends string | symbol>(event: S & Exclude<string | symbol, keyof EventMap>, callback: (...args: any[]) => void): this;
|
|
816
|
-
once<T extends keyof EventMap>(event: T, callback: EventMap[T]): this;
|
|
817
|
-
once<S extends string | symbol>(event: S & Exclude<string | symbol, keyof EventMap>, callback: (...args: any[]) => void): this;
|
|
818
|
-
off<T extends keyof EventMap>(event: T, callback?: EventMap[T]): this;
|
|
819
|
-
off<S extends string | symbol>(event: S & Exclude<string | symbol, keyof EventMap>, callback?: (...args: any[]) => void): this;
|
|
820
|
-
emit<T extends keyof EventMap>(event: T, ...args: Parameters<EventMap[T]>): boolean;
|
|
821
|
-
emit<S extends string | symbol>(event: S & Exclude<string | symbol, keyof EventMap>, ...args: any[]): boolean;
|
|
822
|
-
addListener<T extends keyof EventMap>(event: T, callback: EventMap[T]): this;
|
|
823
|
-
addListener<S extends string | symbol>(event: S & Exclude<string | symbol, keyof EventMap>, callback: (...args: any[]) => void): this;
|
|
824
|
-
addListenerOnce<T extends keyof EventMap>(event: T, callback: EventMap[T]): this;
|
|
825
|
-
addListenerOnce<S extends string | symbol>(event: S & Exclude<string | symbol, keyof EventMap>, callback: (...args: any[]) => void): this;
|
|
826
|
-
removeListener<T extends keyof EventMap>(event: T, callback?: EventMap[T]): this;
|
|
827
|
-
removeListener<S extends string | symbol>(event: S & Exclude<string | symbol, keyof EventMap>, callback?: (...args: any[]) => void): this;
|
|
828
|
-
removeAllListeners<T extends keyof EventMap>(event: T): this;
|
|
829
|
-
removeAllListeners<S extends string | symbol>(event: S & Exclude<string | symbol, keyof EventMap>): this;
|
|
830
|
-
}
|
|
831
819
|
export namespace BaseClient {
|
|
832
820
|
const defaultConfig: Partial<Config>;
|
|
833
821
|
interface Config {
|
package/lib/index.js
CHANGED
|
@@ -1,23 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./core/baseClient"), exports);
|
|
18
|
-
__exportStar(require("./core/receivers"), exports);
|
|
19
|
-
__exportStar(require("./client"), exports);
|
|
20
|
-
__exportStar(require("./elements"), exports);
|
|
21
|
-
__exportStar(require("./types"), exports);
|
|
22
|
-
__exportStar(require("./utils"), exports);
|
|
23
|
-
__exportStar(require("./message"), exports);
|
|
1
|
+
export * from './core/baseClient.js';
|
|
2
|
+
export * from './core/receivers/index.js';
|
|
3
|
+
export * from './client.js';
|
|
4
|
+
export * from './elements.js';
|
|
5
|
+
export * from './types.js';
|
|
6
|
+
export * from './utils.js';
|
|
7
|
+
export * from './message.js';
|
package/lib/message.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const elements_1 = require("./elements");
|
|
5
|
-
const baseClient_1 = require("./core/baseClient");
|
|
6
|
-
class Message {
|
|
1
|
+
import { segment, validateCard } from "./elements.js";
|
|
2
|
+
import { BaseClient } from "./core/baseClient.js";
|
|
3
|
+
export class Message {
|
|
7
4
|
get self_id() {
|
|
8
5
|
return this.client.self_id;
|
|
9
6
|
}
|
|
@@ -26,31 +23,30 @@ class Message {
|
|
|
26
23
|
toJSON() {
|
|
27
24
|
return Object.fromEntries(Object.keys(this)
|
|
28
25
|
.filter(key => {
|
|
29
|
-
return typeof this[key] !== "function" && !(this[key] instanceof
|
|
26
|
+
return typeof this[key] !== "function" && !(this[key] instanceof BaseClient);
|
|
30
27
|
})
|
|
31
28
|
.map(key => [key, this[key]]));
|
|
32
29
|
}
|
|
33
30
|
}
|
|
34
|
-
exports.Message = Message;
|
|
35
31
|
(function (Message) {
|
|
36
32
|
function convertMessage(content, extra) {
|
|
37
33
|
if (extra.type === 1)
|
|
38
|
-
return [
|
|
34
|
+
return [segment.text(content)];
|
|
39
35
|
if (extra.type === 2)
|
|
40
|
-
return [
|
|
36
|
+
return [segment.image(content)];
|
|
41
37
|
if (extra.type === 3)
|
|
42
|
-
return [
|
|
38
|
+
return [segment.video(content)];
|
|
43
39
|
if (extra.type === 4)
|
|
44
|
-
return [
|
|
40
|
+
return [segment.file(content)];
|
|
45
41
|
if (extra.type === 8)
|
|
46
|
-
return [
|
|
42
|
+
return [segment.audio(content)];
|
|
47
43
|
if (extra.type === 10)
|
|
48
44
|
return JSON.parse(content);
|
|
49
45
|
const segments = [];
|
|
50
46
|
const pushAtInfo = (atMatch) => {
|
|
51
47
|
const idx = content.indexOf(atMatch[0]);
|
|
52
|
-
segments.push(
|
|
53
|
-
segments.push(
|
|
48
|
+
segments.push(segment.markdown(content.slice(0, idx)));
|
|
49
|
+
segments.push(segment.at(atMatch[1]));
|
|
54
50
|
content = content.slice(idx + atMatch[0].length);
|
|
55
51
|
};
|
|
56
52
|
while (content.length) {
|
|
@@ -61,7 +57,7 @@ exports.Message = Message;
|
|
|
61
57
|
break;
|
|
62
58
|
}
|
|
63
59
|
if (content.length)
|
|
64
|
-
segments.push(
|
|
60
|
+
segments.push(segment.markdown(content));
|
|
65
61
|
return segments;
|
|
66
62
|
}
|
|
67
63
|
Message.convertMessage = convertMessage;
|
|
@@ -102,7 +98,7 @@ exports.Message = Message;
|
|
|
102
98
|
}
|
|
103
99
|
};
|
|
104
100
|
await processImages(card);
|
|
105
|
-
|
|
101
|
+
validateCard(card);
|
|
106
102
|
result = JSON.stringify([card]);
|
|
107
103
|
messageType = 10;
|
|
108
104
|
break;
|
|
@@ -111,7 +107,7 @@ exports.Message = Message;
|
|
|
111
107
|
if (typeof seg === 'object' && seg.__isCard) {
|
|
112
108
|
const { __isCard, ...cardData } = seg;
|
|
113
109
|
// 最终验证(确保在发送前)
|
|
114
|
-
|
|
110
|
+
validateCard(cardData);
|
|
115
111
|
// 将卡片包装在数组中
|
|
116
112
|
result = JSON.stringify([cardData]);
|
|
117
113
|
messageType = 10;
|
|
@@ -142,7 +138,7 @@ exports.Message = Message;
|
|
|
142
138
|
throw new Error(`can't send file`);
|
|
143
139
|
case "card":
|
|
144
140
|
// 最终验证(确保在发送前)
|
|
145
|
-
|
|
141
|
+
validateCard(seg);
|
|
146
142
|
// 将卡片包装在数组中
|
|
147
143
|
result = JSON.stringify([seg]);
|
|
148
144
|
messageType = 10;
|
|
@@ -170,4 +166,4 @@ exports.Message = Message;
|
|
|
170
166
|
return [result, quote, messageType];
|
|
171
167
|
}
|
|
172
168
|
Message.processMessage = processMessage;
|
|
173
|
-
})(Message || (
|
|
169
|
+
})(Message || (Message = {}));
|