node-karin 0.6.18 → 0.6.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/adapter/index.d.ts +1 -1
- package/lib/adapter/index.js +1 -1
- package/lib/adapter/input/index.d.ts +16 -3
- package/lib/adapter/input/index.js +52 -38
- package/lib/adapter/kritor/grpc.d.ts +3 -2
- package/lib/adapter/kritor/grpc.js +80 -64
- package/lib/adapter/kritor/index.d.ts +35 -18
- package/lib/adapter/kritor/index.js +26 -10
- package/lib/adapter/onebot/11/convert.d.ts +11 -0
- package/lib/adapter/onebot/11/convert.js +168 -0
- package/lib/adapter/onebot/11/event.d.ts +25 -0
- package/lib/adapter/onebot/11/event.js +425 -0
- package/lib/adapter/onebot/11/index.d.ts +506 -0
- package/lib/adapter/onebot/11/index.js +1047 -0
- package/lib/cli/init.js +11 -0
- package/lib/core/karin.d.ts +3 -4
- package/lib/core/karin.js +3 -2
- package/lib/core/listener.d.ts +2 -2
- package/lib/core/listener.js +2 -2
- package/lib/core/plugin.app.js +2 -1
- package/lib/core/plugin.d.ts +4 -4
- package/lib/core/plugin.js +2 -1
- package/lib/core/plugin.loader.d.ts +3 -3
- package/lib/core/plugin.loader.js +2 -1
- package/lib/core/server.js +3 -3
- package/lib/event/event.handler.d.ts +5 -5
- package/lib/event/event.handler.js +6 -5
- package/lib/event/index.d.ts +0 -4
- package/lib/event/index.js +0 -4
- package/lib/event/message.handler.d.ts +3 -3
- package/lib/event/notice.handler.d.ts +3 -3
- package/lib/event/notice.handler.js +17 -16
- package/lib/event/request.handler.d.ts +3 -3
- package/lib/event/request.handler.js +4 -3
- package/lib/event/review.handler.d.ts +7 -8
- package/lib/index.js +1 -1
- package/lib/types/adapter/adapter.d.ts +564 -0
- package/lib/types/adapter/adapter.js +1 -0
- package/lib/types/{api.d.ts → adapter/api.d.ts} +103 -3
- package/lib/types/adapter/api.js +1 -0
- package/lib/types/element.d.ts +5 -4
- package/lib/types/event/contact.d.ts +28 -0
- package/lib/types/event/contact.js +13 -0
- package/lib/types/event/event.d.ts +390 -0
- package/lib/types/event/event.js +234 -0
- package/lib/types/event/index.d.ts +12 -0
- package/lib/types/event/index.js +7 -0
- package/lib/types/event/message.d.ts +104 -0
- package/lib/types/event/message.js +72 -0
- package/lib/types/event/notice.d.ts +513 -0
- package/lib/types/event/notice.js +52 -0
- package/lib/types/{reply.d.ts → event/reply.d.ts} +2 -2
- package/lib/types/event/reply.js +1 -0
- package/lib/types/event/request.d.ts +126 -0
- package/lib/types/event/request.js +52 -0
- package/lib/types/event/sender.d.ts +44 -0
- package/lib/types/event/sender.js +22 -0
- package/lib/types/index.d.ts +6 -5
- package/lib/types/index.js +6 -5
- package/lib/types/onebot11/api.d.ts +53 -0
- package/lib/types/onebot11/api.js +54 -0
- package/lib/types/onebot11/event.d.ts +619 -0
- package/lib/types/onebot11/event.js +56 -0
- package/lib/types/onebot11/index.d.ts +6 -0
- package/lib/types/onebot11/index.js +6 -0
- package/lib/types/onebot11/params.d.ts +609 -0
- package/lib/types/onebot11/params.js +7 -0
- package/lib/types/onebot11/response.d.ts +516 -0
- package/lib/types/onebot11/response.js +1 -0
- package/lib/types/onebot11/segment.d.ts +268 -0
- package/lib/types/onebot11/segment.js +30 -0
- package/lib/types/onebot11/sender.d.ts +59 -0
- package/lib/types/onebot11/sender.js +1 -0
- package/lib/types/plugin.d.ts +10 -11
- package/lib/utils/button.d.ts +2 -2
- package/lib/utils/common.d.ts +2 -2
- package/lib/utils/config.js +3 -3
- package/lib/utils/handler.d.ts +2 -2
- package/lib/utils/handler.js +1 -1
- package/lib/utils/init.d.ts +1 -1
- package/lib/utils/init.js +2 -1
- package/lib/utils/segment.d.ts +2 -2
- package/package.json +1 -1
- package/lib/adapter/onebot/onebot11.d.ts +0 -309
- package/lib/adapter/onebot/onebot11.js +0 -1285
- package/lib/event/event.d.ts +0 -140
- package/lib/event/event.js +0 -125
- package/lib/event/message.d.ts +0 -105
- package/lib/event/message.js +0 -70
- package/lib/event/notice.d.ts +0 -49
- package/lib/event/notice.js +0 -15
- package/lib/event/request.d.ts +0 -49
- package/lib/event/request.js +0 -15
- package/lib/types/adapter.d.ts +0 -581
- package/lib/types/adapter.js +0 -1
- package/lib/types/api.js +0 -1
- package/lib/types/event.d.ts +0 -789
- package/lib/types/event.js +0 -1
- package/lib/types/onebots11.d.ts +0 -1426
- package/lib/types/onebots11.js +0 -1
- package/lib/types/reply.js +0 -1
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* - OneBot11消息类型枚举
|
|
3
|
+
*/
|
|
4
|
+
export declare enum OB11SegmentType {
|
|
5
|
+
Text = "text",
|
|
6
|
+
Face = "face",
|
|
7
|
+
Image = "image",
|
|
8
|
+
Record = "record",
|
|
9
|
+
Video = "video",
|
|
10
|
+
At = "at",
|
|
11
|
+
Rps = "rps",
|
|
12
|
+
Dice = "dice",
|
|
13
|
+
Shake = "shake",
|
|
14
|
+
Poke = "poke",
|
|
15
|
+
Anonymous = "anonymous",
|
|
16
|
+
Share = "share",
|
|
17
|
+
Contact = "contact",
|
|
18
|
+
Location = "location",
|
|
19
|
+
Music = "music",
|
|
20
|
+
MusicCustom = "music_custom",
|
|
21
|
+
Reply = "reply",
|
|
22
|
+
Forward = "forward",
|
|
23
|
+
Node = "node",
|
|
24
|
+
NodeCustom = "node_custom",
|
|
25
|
+
Xml = "xml",
|
|
26
|
+
Json = "json",
|
|
27
|
+
File = "file"
|
|
28
|
+
}
|
|
29
|
+
export interface Segment {
|
|
30
|
+
type: OB11SegmentType;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* - 纯文本
|
|
34
|
+
*/
|
|
35
|
+
export interface TextSegment extends Segment {
|
|
36
|
+
type: OB11SegmentType.Text;
|
|
37
|
+
data: {
|
|
38
|
+
text: string;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* - QQ表情
|
|
43
|
+
*/
|
|
44
|
+
export interface FaceSegment extends Segment {
|
|
45
|
+
type: OB11SegmentType.Face;
|
|
46
|
+
data: {
|
|
47
|
+
id: string;
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* - 图片消息段
|
|
52
|
+
*/
|
|
53
|
+
export interface ImageSegment extends Segment {
|
|
54
|
+
type: OB11SegmentType.Image;
|
|
55
|
+
data: {
|
|
56
|
+
file: string;
|
|
57
|
+
type?: 'flash';
|
|
58
|
+
url?: string;
|
|
59
|
+
cache?: 0 | 1;
|
|
60
|
+
proxy?: 0 | 1;
|
|
61
|
+
timeout?: number;
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* - 语音消息段
|
|
66
|
+
*/
|
|
67
|
+
export interface RecordSegment extends Segment {
|
|
68
|
+
type: OB11SegmentType.Record;
|
|
69
|
+
data: {
|
|
70
|
+
file: string;
|
|
71
|
+
magic?: 0 | 1;
|
|
72
|
+
url?: string;
|
|
73
|
+
cache?: 0 | 1;
|
|
74
|
+
proxy?: 0 | 1;
|
|
75
|
+
timeout?: number;
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* - 短视频消息段
|
|
80
|
+
*/
|
|
81
|
+
export interface VideoSegment extends Segment {
|
|
82
|
+
type: OB11SegmentType.Video;
|
|
83
|
+
data: {
|
|
84
|
+
file: string;
|
|
85
|
+
url?: string;
|
|
86
|
+
cache?: 0 | 1;
|
|
87
|
+
proxy?: 0 | 1;
|
|
88
|
+
timeout?: number;
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* - @某人消息段
|
|
93
|
+
*/
|
|
94
|
+
export interface AtSegment extends Segment {
|
|
95
|
+
type: OB11SegmentType.At;
|
|
96
|
+
data: {
|
|
97
|
+
qq: string | 'all';
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* - 猜拳魔法表情消息段
|
|
102
|
+
*/
|
|
103
|
+
export interface RpsSegment extends Segment {
|
|
104
|
+
type: OB11SegmentType.Rps;
|
|
105
|
+
data: {};
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* - 掷骰子魔法表情消息段
|
|
109
|
+
*/
|
|
110
|
+
export interface DiceSegment extends Segment {
|
|
111
|
+
type: OB11SegmentType.Dice;
|
|
112
|
+
data: {};
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* - 窗口抖动(戳一戳)消息段
|
|
116
|
+
*/
|
|
117
|
+
export interface ShakeSegment extends Segment {
|
|
118
|
+
type: OB11SegmentType.Shake;
|
|
119
|
+
data: {};
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* - 戳一戳消息段
|
|
123
|
+
*/
|
|
124
|
+
export interface PokeSegment extends Segment {
|
|
125
|
+
type: OB11SegmentType.Poke;
|
|
126
|
+
data: {
|
|
127
|
+
type: string;
|
|
128
|
+
id: string;
|
|
129
|
+
name?: string;
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* - 匿名发消息消息段
|
|
134
|
+
*/
|
|
135
|
+
export interface AnonymousSegment extends Segment {
|
|
136
|
+
type: OB11SegmentType.Anonymous;
|
|
137
|
+
data: {
|
|
138
|
+
ignore?: 0 | 1;
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* - 链接分享消息段
|
|
143
|
+
*/
|
|
144
|
+
export interface ShareSegment extends Segment {
|
|
145
|
+
type: OB11SegmentType.Share;
|
|
146
|
+
data: {
|
|
147
|
+
url: string;
|
|
148
|
+
title: string;
|
|
149
|
+
content?: string;
|
|
150
|
+
image?: string;
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* - 推荐好友/群消息段
|
|
155
|
+
*/
|
|
156
|
+
export interface ContactSegment extends Segment {
|
|
157
|
+
type: OB11SegmentType.Contact;
|
|
158
|
+
data: {
|
|
159
|
+
type: 'qq' | 'group';
|
|
160
|
+
id: string;
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* - 位置消息段
|
|
165
|
+
*/
|
|
166
|
+
export interface LocationSegment extends Segment {
|
|
167
|
+
type: OB11SegmentType.Location;
|
|
168
|
+
data: {
|
|
169
|
+
lat: string;
|
|
170
|
+
lon: string;
|
|
171
|
+
title?: string;
|
|
172
|
+
content?: string;
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* - 音乐分享消息段
|
|
177
|
+
*/
|
|
178
|
+
export interface MusicSegment extends Segment {
|
|
179
|
+
type: OB11SegmentType.Music;
|
|
180
|
+
data: {
|
|
181
|
+
type: 'qq' | '163' | 'xm';
|
|
182
|
+
id: string;
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* - 音乐自定义分享消息段
|
|
187
|
+
*/
|
|
188
|
+
export interface CustomMusicSegment extends Segment {
|
|
189
|
+
type: OB11SegmentType.MusicCustom;
|
|
190
|
+
data: {
|
|
191
|
+
type: 'custom';
|
|
192
|
+
url: string;
|
|
193
|
+
audio: string;
|
|
194
|
+
title: string;
|
|
195
|
+
content?: string;
|
|
196
|
+
image?: string;
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* - 回复消息段
|
|
201
|
+
*/
|
|
202
|
+
export interface ReplySegment extends Segment {
|
|
203
|
+
type: OB11SegmentType.Reply;
|
|
204
|
+
data: {
|
|
205
|
+
id: string;
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
export interface FileSegment extends Segment {
|
|
209
|
+
type: OB11SegmentType.File;
|
|
210
|
+
data: {
|
|
211
|
+
file: string;
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* - 合并转发消息段
|
|
216
|
+
*/
|
|
217
|
+
export interface ForwardSegment extends Segment {
|
|
218
|
+
type: OB11SegmentType.Forward;
|
|
219
|
+
data: {
|
|
220
|
+
id: string;
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* - 合并转发节点消息段
|
|
225
|
+
*/
|
|
226
|
+
export interface NodeSegment extends Segment {
|
|
227
|
+
type: OB11SegmentType.Node;
|
|
228
|
+
data: {
|
|
229
|
+
id: string;
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* - XML消息段
|
|
234
|
+
*/
|
|
235
|
+
export interface XmlSegment extends Segment {
|
|
236
|
+
type: OB11SegmentType.Xml;
|
|
237
|
+
data: {
|
|
238
|
+
data: string;
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* - JSON消息段
|
|
243
|
+
*/
|
|
244
|
+
export interface JsonSegment extends Segment {
|
|
245
|
+
type: OB11SegmentType.Json;
|
|
246
|
+
data: {
|
|
247
|
+
data: string;
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* - OneBot11消息段
|
|
252
|
+
*/
|
|
253
|
+
export type OB11SegmentBase = TextSegment | FaceSegment | ImageSegment | RecordSegment | VideoSegment | AtSegment | RpsSegment | DiceSegment | ShakeSegment | PokeSegment | AnonymousSegment | ShareSegment | ContactSegment | LocationSegment | MusicSegment | CustomMusicSegment | ReplySegment | ForwardSegment | NodeSegment | XmlSegment | JsonSegment;
|
|
254
|
+
/**
|
|
255
|
+
* - 合并转发自定义节点消息段
|
|
256
|
+
*/
|
|
257
|
+
export interface CustomNodeSegment extends Segment {
|
|
258
|
+
type: OB11SegmentType.NodeCustom;
|
|
259
|
+
data: {
|
|
260
|
+
user_id: string;
|
|
261
|
+
nickname: string;
|
|
262
|
+
content: OB11SegmentBase[];
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* - OneBot11消息段
|
|
267
|
+
*/
|
|
268
|
+
export type OB11Segment = OB11SegmentBase | CustomNodeSegment;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/* eslint-disable no-unused-vars */
|
|
2
|
+
/**
|
|
3
|
+
* - OneBot11消息类型枚举
|
|
4
|
+
*/
|
|
5
|
+
export var OB11SegmentType;
|
|
6
|
+
(function (OB11SegmentType) {
|
|
7
|
+
OB11SegmentType["Text"] = "text";
|
|
8
|
+
OB11SegmentType["Face"] = "face";
|
|
9
|
+
OB11SegmentType["Image"] = "image";
|
|
10
|
+
OB11SegmentType["Record"] = "record";
|
|
11
|
+
OB11SegmentType["Video"] = "video";
|
|
12
|
+
OB11SegmentType["At"] = "at";
|
|
13
|
+
OB11SegmentType["Rps"] = "rps";
|
|
14
|
+
OB11SegmentType["Dice"] = "dice";
|
|
15
|
+
OB11SegmentType["Shake"] = "shake";
|
|
16
|
+
OB11SegmentType["Poke"] = "poke";
|
|
17
|
+
OB11SegmentType["Anonymous"] = "anonymous";
|
|
18
|
+
OB11SegmentType["Share"] = "share";
|
|
19
|
+
OB11SegmentType["Contact"] = "contact";
|
|
20
|
+
OB11SegmentType["Location"] = "location";
|
|
21
|
+
OB11SegmentType["Music"] = "music";
|
|
22
|
+
OB11SegmentType["MusicCustom"] = "music_custom";
|
|
23
|
+
OB11SegmentType["Reply"] = "reply";
|
|
24
|
+
OB11SegmentType["Forward"] = "forward";
|
|
25
|
+
OB11SegmentType["Node"] = "node";
|
|
26
|
+
OB11SegmentType["NodeCustom"] = "node_custom";
|
|
27
|
+
OB11SegmentType["Xml"] = "xml";
|
|
28
|
+
OB11SegmentType["Json"] = "json";
|
|
29
|
+
OB11SegmentType["File"] = "file";
|
|
30
|
+
})(OB11SegmentType || (OB11SegmentType = {}));
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export type OB11Sex = 'male' | 'female' | 'unknown';
|
|
2
|
+
export type OB11Role = 'owner' | 'admin' | 'member' | '';
|
|
3
|
+
export interface PrivateSender {
|
|
4
|
+
/**
|
|
5
|
+
* - 发送者 QQ 号
|
|
6
|
+
*/
|
|
7
|
+
user_id: string;
|
|
8
|
+
/**
|
|
9
|
+
* - 昵称 不存在则为空字符串
|
|
10
|
+
*/
|
|
11
|
+
nickname: string;
|
|
12
|
+
/**
|
|
13
|
+
* - 性别
|
|
14
|
+
*/
|
|
15
|
+
sex?: OB11Sex;
|
|
16
|
+
/**
|
|
17
|
+
* - 年龄
|
|
18
|
+
*/
|
|
19
|
+
age?: number;
|
|
20
|
+
}
|
|
21
|
+
export interface GroupSender {
|
|
22
|
+
/**
|
|
23
|
+
* - 发送者 QQ 号
|
|
24
|
+
*/
|
|
25
|
+
user_id: string;
|
|
26
|
+
/**
|
|
27
|
+
* - 昵称 不存在则为空字符串
|
|
28
|
+
*/
|
|
29
|
+
nickname: string;
|
|
30
|
+
/**
|
|
31
|
+
* - 性别
|
|
32
|
+
*/
|
|
33
|
+
sex?: OB11Sex;
|
|
34
|
+
/**
|
|
35
|
+
* - 年龄
|
|
36
|
+
*/
|
|
37
|
+
age?: number;
|
|
38
|
+
/**
|
|
39
|
+
* - 群名片/备注
|
|
40
|
+
*/
|
|
41
|
+
card?: string;
|
|
42
|
+
/**
|
|
43
|
+
* - 地区
|
|
44
|
+
*/
|
|
45
|
+
area?: string;
|
|
46
|
+
/**
|
|
47
|
+
* - 成员等级
|
|
48
|
+
*/
|
|
49
|
+
level?: string;
|
|
50
|
+
/**
|
|
51
|
+
* - 角色 不存在则为空字符串
|
|
52
|
+
*/
|
|
53
|
+
role: OB11Role;
|
|
54
|
+
/**
|
|
55
|
+
* - 专属头衔
|
|
56
|
+
*/
|
|
57
|
+
title?: string;
|
|
58
|
+
}
|
|
59
|
+
export type ob11Sender = PrivateSender | GroupSender;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/lib/types/plugin.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import schedule from 'node-schedule';
|
|
2
2
|
import { Plugin } from '../core/index.js';
|
|
3
|
-
import { Reply, replyCallback, replyForward } from './reply.js';
|
|
4
|
-
import {
|
|
5
|
-
import { KarinMessage } from '../event/index.js';
|
|
3
|
+
import { Reply, replyCallback, replyForward } from './event/reply.js';
|
|
4
|
+
import { KarinNoticeType, KarinRequestType, AllListenEvent, KarinEventTypes, KarinMessageType, PermissionType } from './event/index.js';
|
|
6
5
|
/**
|
|
7
6
|
* - 插件根目录名称
|
|
8
7
|
* - 例如: karin-plugin-example
|
|
@@ -42,13 +41,13 @@ export interface PluginRule {
|
|
|
42
41
|
*/
|
|
43
42
|
fnc: string | Function;
|
|
44
43
|
/**
|
|
45
|
-
* -
|
|
44
|
+
* - 监听子事件
|
|
46
45
|
*/
|
|
47
|
-
event?:
|
|
46
|
+
event?: AllListenEvent;
|
|
48
47
|
/**
|
|
49
48
|
* 权限
|
|
50
49
|
*/
|
|
51
|
-
permission?:
|
|
50
|
+
permission?: PermissionType;
|
|
52
51
|
/**
|
|
53
52
|
* - 打印日志 默认为true
|
|
54
53
|
*/
|
|
@@ -146,7 +145,7 @@ export interface PluginType {
|
|
|
146
145
|
/**
|
|
147
146
|
* - 监听事件 默认为message
|
|
148
147
|
*/
|
|
149
|
-
event:
|
|
148
|
+
event: AllListenEvent;
|
|
150
149
|
/**
|
|
151
150
|
* - 优先级 默认为10000
|
|
152
151
|
*/
|
|
@@ -179,7 +178,7 @@ export interface PluginType {
|
|
|
179
178
|
* - 上报事件
|
|
180
179
|
* - 根据上报中的event字段来获取e的事件类型
|
|
181
180
|
*/
|
|
182
|
-
e:
|
|
181
|
+
e: KarinEventTypes;
|
|
183
182
|
init?: () => Promise<any>;
|
|
184
183
|
/**
|
|
185
184
|
* - 快速回复
|
|
@@ -220,7 +219,7 @@ export interface PluginType {
|
|
|
220
219
|
/**
|
|
221
220
|
* - accept标准方法 给通知、请求事件使用
|
|
222
221
|
*/
|
|
223
|
-
accept?(e:
|
|
222
|
+
accept?(e: KarinNoticeType | KarinRequestType): Promise<void>;
|
|
224
223
|
}
|
|
225
224
|
/**
|
|
226
225
|
* - Apps
|
|
@@ -246,7 +245,7 @@ export interface PluginApps {
|
|
|
246
245
|
/**
|
|
247
246
|
* - 插件事件
|
|
248
247
|
*/
|
|
249
|
-
event:
|
|
248
|
+
event: AllListenEvent;
|
|
250
249
|
/**
|
|
251
250
|
* - 插件优先级
|
|
252
251
|
* @default 10000
|
|
@@ -276,4 +275,4 @@ export interface PluginApps {
|
|
|
276
275
|
/**
|
|
277
276
|
* 未实例化的插件
|
|
278
277
|
*/
|
|
279
|
-
export type
|
|
278
|
+
export type NewMessagePlugin = new (e?: KarinMessageType) => Plugin;
|
package/lib/utils/button.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare const button: (e:
|
|
1
|
+
import { KarinMessageType } from '../types/index.js';
|
|
2
|
+
export declare const button: (e: KarinMessageType) => Promise<any>;
|
package/lib/utils/common.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AxiosRequestConfig } from 'axios';
|
|
2
2
|
import { Readable } from 'stream';
|
|
3
3
|
import { fs } from '../modules.js';
|
|
4
|
-
import { dirName, KarinElement,
|
|
4
|
+
import { dirName, KarinElement, NodeElement } from '../types/index.js';
|
|
5
5
|
/**
|
|
6
6
|
* 常用方法
|
|
7
7
|
*/
|
|
@@ -134,7 +134,7 @@ export declare const common: {
|
|
|
134
134
|
* @param fakeUin 用户id
|
|
135
135
|
* @param fakeNick 用户昵称
|
|
136
136
|
*/
|
|
137
|
-
makeForward(elements: KarinElement | KarinElement[], fakeUin: string, fakeNick: string): Array<
|
|
137
|
+
makeForward(elements: KarinElement | KarinElement[], fakeUin: string, fakeNick: string): Array<NodeElement>;
|
|
138
138
|
/**
|
|
139
139
|
* 获取所有插件列表
|
|
140
140
|
* @param isDir - 返回绝对路径
|
package/lib/utils/config.js
CHANGED
|
@@ -221,8 +221,8 @@ export const config = new (class Cfg {
|
|
|
221
221
|
return res
|
|
222
222
|
}
|
|
223
223
|
/** 取配置 */
|
|
224
|
-
const Config = this.getYaml('config', 'group')
|
|
225
|
-
const defCfg = this.getYaml('defSet', 'group')
|
|
224
|
+
const Config = this.getYaml('config', 'group', true)
|
|
225
|
+
const defCfg = this.getYaml('defSet', 'group', false)
|
|
226
226
|
const data = { Config, defCfg }
|
|
227
227
|
/** 缓存 */
|
|
228
228
|
res = this.change.set(key, data)
|
|
@@ -252,7 +252,7 @@ export const config = new (class Cfg {
|
|
|
252
252
|
async watch (type, name, file) {
|
|
253
253
|
const key = `change.${name}`
|
|
254
254
|
/** 已经监听过了 */
|
|
255
|
-
const res = this.
|
|
255
|
+
const res = this.watcher.get(key)
|
|
256
256
|
if (res) { return true }
|
|
257
257
|
/** 监听文件 */
|
|
258
258
|
const watcher = chokidar.watch(file)
|
package/lib/utils/handler.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PluginType, PluginApps, KarinEventTypes } from '../types/index.js';
|
|
2
2
|
/**
|
|
3
3
|
* 事件处理器类
|
|
4
4
|
*/
|
|
@@ -23,7 +23,7 @@ export declare const handler: {
|
|
|
23
23
|
*/
|
|
24
24
|
call(key: string, args: {
|
|
25
25
|
[key: string]: any;
|
|
26
|
-
e?:
|
|
26
|
+
e?: KarinEventTypes;
|
|
27
27
|
}): Promise<any>;
|
|
28
28
|
/**
|
|
29
29
|
* 检查是否存在指定键的事件处理器
|
package/lib/utils/handler.js
CHANGED
package/lib/utils/init.d.ts
CHANGED
package/lib/utils/init.js
CHANGED
|
@@ -59,7 +59,7 @@ export class KarinInit {
|
|
|
59
59
|
/**
|
|
60
60
|
* 从npm包内复制默认配置出来
|
|
61
61
|
*/
|
|
62
|
-
|
|
62
|
+
copyFile () {
|
|
63
63
|
/** 配置 */
|
|
64
64
|
const list = ['config/defSet', 'config/view']
|
|
65
65
|
list.forEach(dir => {
|
|
@@ -67,6 +67,7 @@ export class KarinInit {
|
|
|
67
67
|
const projDir = path.join(process.cwd(), dir)
|
|
68
68
|
/** 清空projDir目录下的文件 保留目录 */
|
|
69
69
|
if (fs.existsSync(projDir)) { fs.rmdirSync(projDir, { recursive: true }) }
|
|
70
|
+
this.mkdir(projDir)
|
|
70
71
|
/** 读取pkgDir目录下的所有文件 复制到projDir下 */
|
|
71
72
|
const files = fs.readdirSync(pkgDir).filter(file => file.endsWith('.yaml'))
|
|
72
73
|
files.forEach(file => {
|
package/lib/utils/segment.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TextElement, AtElement, ImageElement, FaceElement, BubbleFaceElement, ReplyElement, VoiceElement, VideoElement, BasketballElement, DiceElement, RpsElement, PokeElement, MusicElement, WeatherElement, LocationElement, ShareElement, GiftElement, MarketFaceElement, ForwardElement, ContactElement, JsonElement, XmlElement, FileElement, ButtonElement, CustomMusicElemen, TemplateElement, ContentElement,
|
|
1
|
+
import { TextElement, AtElement, ImageElement, FaceElement, BubbleFaceElement, ReplyElement, VoiceElement, VideoElement, BasketballElement, DiceElement, RpsElement, PokeElement, MusicElement, WeatherElement, LocationElement, ShareElement, GiftElement, MarketFaceElement, ForwardElement, ContactElement, JsonElement, XmlElement, FileElement, ButtonElement, CustomMusicElemen, TemplateElement, ContentElement, NodeElement, KarinElement, LongMsgElement } from '../types/index.js';
|
|
2
2
|
export declare const segment: {
|
|
3
3
|
/**
|
|
4
4
|
* 纯文本
|
|
@@ -275,5 +275,5 @@ export declare const segment: {
|
|
|
275
275
|
* @param nickname - 用户昵称
|
|
276
276
|
* @param content - 节点内容
|
|
277
277
|
*/
|
|
278
|
-
node(user_id: string, nickname: string, content: KarinElement | Array<KarinElement>):
|
|
278
|
+
node(user_id: string, nickname: string, content: KarinElement | Array<KarinElement>): NodeElement;
|
|
279
279
|
};
|