mioki 0.9.2 → 0.9.3
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/dist/cli.cjs +1 -1
- package/dist/cli.mjs +1 -1
- package/dist/index.cjs +37 -35
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +242 -242
- package/dist/index.d.mts +242 -242
- package/dist/index.mjs +36 -34
- package/dist/index.mjs.map +1 -1
- package/dist/{package-hrAht8He.cjs → package-BDo4MHDy.cjs} +2 -2
- package/dist/package-BDo4MHDy.cjs.map +1 -0
- package/dist/package-LmjT9AeF.mjs +6 -0
- package/dist/package-LmjT9AeF.mjs.map +1 -0
- package/package.json +2 -2
- package/dist/package-BUreTxqg.mjs +0 -6
- package/dist/package-BUreTxqg.mjs.map +0 -1
- package/dist/package-hrAht8He.cjs.map +0 -1
package/dist/index.d.mts
CHANGED
|
@@ -17,8 +17,8 @@ import { ScheduledTask, TaskContext } from "node-cron";
|
|
|
17
17
|
//#region src/logger.d.ts
|
|
18
18
|
declare const logger: Logger;
|
|
19
19
|
/**
|
|
20
|
-
* 获取日志文件名
|
|
21
|
-
*/
|
|
20
|
+
* 获取日志文件名
|
|
21
|
+
*/
|
|
22
22
|
declare function getLogFilePath(type?: string): string;
|
|
23
23
|
declare function getMiokiLogger(level: LogLevel): Logger;
|
|
24
24
|
//#endregion
|
|
@@ -40,69 +40,69 @@ type HasMessage = {
|
|
|
40
40
|
message: RecvElement[];
|
|
41
41
|
} | RecvElement[];
|
|
42
42
|
/**
|
|
43
|
-
* Jiti 实例
|
|
44
|
-
*/
|
|
43
|
+
* Jiti 实例
|
|
44
|
+
*/
|
|
45
45
|
declare const jiti: Jiti;
|
|
46
46
|
interface CreateCmdOptions {
|
|
47
47
|
prefix?: string;
|
|
48
48
|
onPrefix?(): void;
|
|
49
49
|
}
|
|
50
50
|
/**
|
|
51
|
-
* 解析命令字符串,返回命令和参数
|
|
52
|
-
*/
|
|
51
|
+
* 解析命令字符串,返回命令和参数
|
|
52
|
+
*/
|
|
53
53
|
declare function createCmd(cmdStr: string, options?: CreateCmdOptions): {
|
|
54
54
|
cmd: string | undefined;
|
|
55
55
|
params: string[];
|
|
56
56
|
options: Record<string, any>;
|
|
57
57
|
};
|
|
58
58
|
/**
|
|
59
|
-
* 带有表情反应的函数执行包装器
|
|
60
|
-
*/
|
|
59
|
+
* 带有表情反应的函数执行包装器
|
|
60
|
+
*/
|
|
61
61
|
declare function runWithReaction<T extends AnyFunc>(e: GroupMessageEvent, fn: T, id?: string): Promise<ReturnType<T>>;
|
|
62
62
|
/**
|
|
63
|
-
* 创建一个 LowDB 数据库实例
|
|
64
|
-
*/
|
|
63
|
+
* 创建一个 LowDB 数据库实例
|
|
64
|
+
*/
|
|
65
65
|
declare function createDB<T extends object = object>(filename: string, options?: {
|
|
66
66
|
defaultData?: T;
|
|
67
67
|
compress?: boolean;
|
|
68
68
|
}): Promise<Low<T>>;
|
|
69
69
|
/**
|
|
70
|
-
* 确保返回一个可用的图片元素
|
|
71
|
-
*
|
|
72
|
-
* @param buffer 图片缓冲区
|
|
73
|
-
* @param text 文本
|
|
74
|
-
* @returns 图片元素
|
|
75
|
-
*/
|
|
70
|
+
* 确保返回一个可用的图片元素
|
|
71
|
+
*
|
|
72
|
+
* @param buffer 图片缓冲区
|
|
73
|
+
* @param text 文本
|
|
74
|
+
* @returns 图片元素
|
|
75
|
+
*/
|
|
76
76
|
declare function ensureBuffer(buffer?: Buffer | null | undefined, text?: null): null;
|
|
77
77
|
declare function ensureBuffer(buffer?: Buffer | null | undefined, text?: string): Sendable;
|
|
78
78
|
/**
|
|
79
|
-
* 格式化时间间隔为可读字符串
|
|
80
|
-
*
|
|
81
|
-
* @param ms 时间间隔(毫秒)
|
|
82
|
-
* @returns 可读字符串
|
|
83
|
-
*/
|
|
79
|
+
* 格式化时间间隔为可读字符串
|
|
80
|
+
*
|
|
81
|
+
* @param ms 时间间隔(毫秒)
|
|
82
|
+
* @returns 可读字符串
|
|
83
|
+
*/
|
|
84
84
|
declare function formatDuration(ms: number): string;
|
|
85
85
|
type MatchPatternItem = null | undefined | void | false | Sendable | Sendable[];
|
|
86
86
|
type MatchValue<E extends MessageEvent> = MatchPatternItem | ((matches: RegExpMatchArray, event: E) => MatchPatternItem) | ((matches: RegExpMatchArray, event: E) => Promise<MatchPatternItem>);
|
|
87
87
|
/**
|
|
88
|
-
* 匹配输入文本与匹配模式,如果匹配成功,则回复匹配结果
|
|
89
|
-
*
|
|
90
|
-
* 支持:
|
|
91
|
-
* - 精确匹配
|
|
92
|
-
* - 正则表达式匹配(以 `/` 开头和结尾的字符串)
|
|
93
|
-
* - 通配符匹配(使用 `*` 作为通配符)
|
|
94
|
-
*
|
|
95
|
-
* @param event 消息事件
|
|
96
|
-
* @param pattern 匹配模式
|
|
97
|
-
* @param quote 是否引用回复
|
|
98
|
-
* @returns 匹配结果
|
|
99
|
-
*/
|
|
88
|
+
* 匹配输入文本与匹配模式,如果匹配成功,则回复匹配结果
|
|
89
|
+
*
|
|
90
|
+
* 支持:
|
|
91
|
+
* - 精确匹配
|
|
92
|
+
* - 正则表达式匹配(以 `/` 开头和结尾的字符串)
|
|
93
|
+
* - 通配符匹配(使用 `*` 作为通配符)
|
|
94
|
+
*
|
|
95
|
+
* @param event 消息事件
|
|
96
|
+
* @param pattern 匹配模式
|
|
97
|
+
* @param quote 是否引用回复
|
|
98
|
+
* @returns 匹配结果
|
|
99
|
+
*/
|
|
100
100
|
declare function match<E extends MessageEvent>(event: E, pattern: Record<string, MatchValue<E>>, quote?: boolean): Promise<{
|
|
101
101
|
message_id: number;
|
|
102
102
|
} | null>;
|
|
103
103
|
/**
|
|
104
|
-
* 创建一个持久化数据库,基于 createDB 封装
|
|
105
|
-
*/
|
|
104
|
+
* 创建一个持久化数据库,基于 createDB 封装
|
|
105
|
+
*/
|
|
106
106
|
declare function createStore<T extends object = object>(defaultData: T, options?: {
|
|
107
107
|
__dirname?: string;
|
|
108
108
|
importMeta?: ImportMeta;
|
|
@@ -110,270 +110,270 @@ declare function createStore<T extends object = object>(defaultData: T, options?
|
|
|
110
110
|
filename?: string;
|
|
111
111
|
}): Promise<Low<T>>;
|
|
112
112
|
/**
|
|
113
|
-
* MD5 加密
|
|
114
|
-
*/
|
|
115
|
-
declare function md5(text: BinaryLike, encoding:
|
|
113
|
+
* MD5 加密
|
|
114
|
+
*/
|
|
115
|
+
declare function md5(text: BinaryLike, encoding: 'buffer'): Buffer;
|
|
116
116
|
declare function md5(text: BinaryLike, encoding?: BinaryToTextEncoding): string;
|
|
117
117
|
/**
|
|
118
|
-
* 数组去重
|
|
119
|
-
*/
|
|
118
|
+
* 数组去重
|
|
119
|
+
*/
|
|
120
120
|
declare function unique<T>(array: T[]): T[];
|
|
121
121
|
/**
|
|
122
|
-
* 确保值为数组
|
|
123
|
-
*
|
|
124
|
-
*/
|
|
122
|
+
* 确保值为数组
|
|
123
|
+
*
|
|
124
|
+
*/
|
|
125
125
|
declare function toArray<T>(value: T | T[]): T[];
|
|
126
126
|
/**
|
|
127
|
-
* 是否是群消息
|
|
128
|
-
*/
|
|
127
|
+
* 是否是群消息
|
|
128
|
+
*/
|
|
129
129
|
declare const isGroupMsg: (event: MessageEvent) => event is GroupMessageEvent;
|
|
130
130
|
/**
|
|
131
|
-
* 是否是私聊消息
|
|
132
|
-
*/
|
|
131
|
+
* 是否是私聊消息
|
|
132
|
+
*/
|
|
133
133
|
declare const isPrivateMsg: (event: MessageEvent) => event is PrivateMessageEvent;
|
|
134
134
|
/**
|
|
135
|
-
* 异步延时函数
|
|
136
|
-
*
|
|
137
|
-
* @param {number} ms 等待毫秒数
|
|
138
|
-
* @return {Promise<void>}
|
|
139
|
-
*/
|
|
135
|
+
* 异步延时函数
|
|
136
|
+
*
|
|
137
|
+
* @param {number} ms 等待毫秒数
|
|
138
|
+
* @return {Promise<void>}
|
|
139
|
+
*/
|
|
140
140
|
declare function wait(ms: number): Promise<void>;
|
|
141
141
|
interface FormatOptions {
|
|
142
142
|
locale?: string;
|
|
143
143
|
timeZone?: string;
|
|
144
144
|
}
|
|
145
145
|
/**
|
|
146
|
-
* 获取今天的固定日期字符串,可用来作为「稳定随机」的参数,用于签到、每日任务等场景
|
|
147
|
-
*
|
|
148
|
-
* 格式: 2024/12/12,可选控制时区,默认为 'Asia/Shanghai' (亚洲/上海 时区)
|
|
149
|
-
*
|
|
150
|
-
* @param timeZone 指定的时区,默认为 'Asia/Shanghai'
|
|
151
|
-
* @returns 返回当前日期的字符串格式
|
|
152
|
-
*/
|
|
146
|
+
* 获取今天的固定日期字符串,可用来作为「稳定随机」的参数,用于签到、每日任务等场景
|
|
147
|
+
*
|
|
148
|
+
* 格式: 2024/12/12,可选控制时区,默认为 'Asia/Shanghai' (亚洲/上海 时区)
|
|
149
|
+
*
|
|
150
|
+
* @param timeZone 指定的时区,默认为 'Asia/Shanghai'
|
|
151
|
+
* @returns 返回当前日期的字符串格式
|
|
152
|
+
*/
|
|
153
153
|
declare function localeDate(ts?: number | string | Date, options?: FormatOptions): string;
|
|
154
154
|
/**
|
|
155
|
-
* 获取当前时间的固定时间字符串
|
|
156
|
-
*/
|
|
155
|
+
* 获取当前时间的固定时间字符串
|
|
156
|
+
*/
|
|
157
157
|
declare function localeTime(ts?: number | string | Date, options?: FormatOptions & {
|
|
158
158
|
seconds?: boolean;
|
|
159
159
|
}): string;
|
|
160
160
|
/**
|
|
161
|
-
* 生成指定范围(min ~ max)内的随机整数
|
|
162
|
-
*
|
|
163
|
-
* 额外支持「稳定随机」,继续传入额外参数即可,如果额外参数相同(忽略顺序),则生成的随机数相同
|
|
164
|
-
*/
|
|
161
|
+
* 生成指定范围(min ~ max)内的随机整数
|
|
162
|
+
*
|
|
163
|
+
* 额外支持「稳定随机」,继续传入额外参数即可,如果额外参数相同(忽略顺序),则生成的随机数相同
|
|
164
|
+
*/
|
|
165
165
|
declare function randomInt(min: number, max: number, ...hashArgs: any[]): number;
|
|
166
166
|
/**
|
|
167
|
-
* 取数组内随机一项
|
|
168
|
-
*
|
|
169
|
-
* 额外支持「稳定随机」,继续传入额外参数即可,如果额外参数相同(忽略顺序),则生成的随机项
|
|
170
|
-
*/
|
|
167
|
+
* 取数组内随机一项
|
|
168
|
+
*
|
|
169
|
+
* 额外支持「稳定随机」,继续传入额外参数即可,如果额外参数相同(忽略顺序),则生成的随机项
|
|
170
|
+
*/
|
|
171
171
|
declare function randomItem<T = any>(array: readonly T[], ...hashArgs: any[]): T;
|
|
172
172
|
/**
|
|
173
|
-
* 从数组中随机选出指定数量的项(不重复)
|
|
174
|
-
*
|
|
175
|
-
* 额外支持「稳定随机」,继续传入额外参数即可,如果额外参数相同(忽略顺序),则生成的随机项相同
|
|
176
|
-
*
|
|
177
|
-
* @param array 源数组
|
|
178
|
-
* @param count 要选择的项数量
|
|
179
|
-
* @param hashArgs 稳定随机的额外参数
|
|
180
|
-
* @returns 随机选出的项组成的数组
|
|
181
|
-
*/
|
|
173
|
+
* 从数组中随机选出指定数量的项(不重复)
|
|
174
|
+
*
|
|
175
|
+
* 额外支持「稳定随机」,继续传入额外参数即可,如果额外参数相同(忽略顺序),则生成的随机项相同
|
|
176
|
+
*
|
|
177
|
+
* @param array 源数组
|
|
178
|
+
* @param count 要选择的项数量
|
|
179
|
+
* @param hashArgs 稳定随机的额外参数
|
|
180
|
+
* @returns 随机选出的项组成的数组
|
|
181
|
+
*/
|
|
182
182
|
declare function randomItems<T = any>(array: readonly T[], count: number, ...hashArgs: any[]): T[];
|
|
183
183
|
/**
|
|
184
|
-
* 包含大写字母与数字的 6 位随机 ID 生成器
|
|
185
|
-
*/
|
|
184
|
+
* 包含大写字母与数字的 6 位随机 ID 生成器
|
|
185
|
+
*/
|
|
186
186
|
declare function randomId(): string;
|
|
187
187
|
/**
|
|
188
|
-
* 简单生成符合 UUID 规范的字符串,但不保证唯一性
|
|
189
|
-
*/
|
|
188
|
+
* 简单生成符合 UUID 规范的字符串,但不保证唯一性
|
|
189
|
+
*/
|
|
190
190
|
declare function uuid(): string;
|
|
191
191
|
/**
|
|
192
|
-
* clamp 操作,限制数值在指定范围内
|
|
193
|
-
*/
|
|
192
|
+
* clamp 操作,限制数值在指定范围内
|
|
193
|
+
*/
|
|
194
194
|
declare function clamp(n: number, min: number, max: number): number;
|
|
195
195
|
/**
|
|
196
|
-
* 排除 null 和 undefined
|
|
197
|
-
*/
|
|
196
|
+
* 排除 null 和 undefined
|
|
197
|
+
*/
|
|
198
198
|
declare function noNullish<T>(val: T | null): val is T;
|
|
199
199
|
/**
|
|
200
|
-
* 判断是否定义
|
|
201
|
-
*/
|
|
200
|
+
* 判断是否定义
|
|
201
|
+
*/
|
|
202
202
|
declare function isDefined<T = unknown>(val?: T): val is T;
|
|
203
203
|
/**
|
|
204
|
-
* 通过消息事件生成唯一 id
|
|
205
|
-
*/
|
|
204
|
+
* 通过消息事件生成唯一 id
|
|
205
|
+
*/
|
|
206
206
|
declare function toMsgId(event: {
|
|
207
207
|
seq: number;
|
|
208
208
|
rand: number;
|
|
209
209
|
}): string;
|
|
210
210
|
/**
|
|
211
|
-
* 判断是否为函数
|
|
212
|
-
*/
|
|
211
|
+
* 判断是否为函数
|
|
212
|
+
*/
|
|
213
213
|
declare function isFunction<T extends AnyFunc>(val: unknown): val is T;
|
|
214
214
|
/**
|
|
215
|
-
* 判断是否为数字
|
|
216
|
-
*/
|
|
215
|
+
* 判断是否为数字
|
|
216
|
+
*/
|
|
217
217
|
declare function isNumber(val: unknown): val is number;
|
|
218
218
|
/**
|
|
219
|
-
* 判断是否为布尔值
|
|
220
|
-
*/
|
|
219
|
+
* 判断是否为布尔值
|
|
220
|
+
*/
|
|
221
221
|
declare function isBoolean(val: unknown): val is boolean;
|
|
222
222
|
/**
|
|
223
|
-
* 判断是否为字符串
|
|
224
|
-
*/
|
|
223
|
+
* 判断是否为字符串
|
|
224
|
+
*/
|
|
225
225
|
declare function isString(val: unknown): val is string;
|
|
226
226
|
/**
|
|
227
|
-
* 判断是否为对象
|
|
228
|
-
*/
|
|
227
|
+
* 判断是否为对象
|
|
228
|
+
*/
|
|
229
229
|
declare function isObject(val: unknown): val is object;
|
|
230
230
|
/**
|
|
231
|
-
* 将数字转换为本地化数字字符串
|
|
232
|
-
*/
|
|
231
|
+
* 将数字转换为本地化数字字符串
|
|
232
|
+
*/
|
|
233
233
|
declare function localNum(num: number, locale?: string): string;
|
|
234
234
|
/**
|
|
235
|
-
* 通过 QQ 号获取任意头像链接
|
|
236
|
-
*
|
|
237
|
-
* size 可选: 0 | 40 | 100 | 160 | 640,0 为原图
|
|
238
|
-
*/
|
|
235
|
+
* 通过 QQ 号获取任意头像链接
|
|
236
|
+
*
|
|
237
|
+
* size 可选: 0 | 40 | 100 | 160 | 640,0 为原图
|
|
238
|
+
*/
|
|
239
239
|
declare function getQQAvatarLink(qq: number, size?: number): string;
|
|
240
240
|
/**
|
|
241
|
-
* 通过群号获取任意群头像链接
|
|
242
|
-
*
|
|
243
|
-
* size 可选: 40 | 100 | 640,0 为原图
|
|
244
|
-
*/
|
|
241
|
+
* 通过群号获取任意群头像链接
|
|
242
|
+
*
|
|
243
|
+
* size 可选: 40 | 100 | 640,0 为原图
|
|
244
|
+
*/
|
|
245
245
|
declare function getGroupAvatarLink(group: number, size?: number): string;
|
|
246
246
|
/** 获取引用回复的消息 */
|
|
247
247
|
declare function getQuoteMsg(event: MessageEvent, timeout?: number): Promise<GroupMessageEvent | PrivateMessageEvent | null>;
|
|
248
248
|
/**
|
|
249
|
-
* 获取原创表情包的图片链接
|
|
250
|
-
*/
|
|
249
|
+
* 获取原创表情包的图片链接
|
|
250
|
+
*/
|
|
251
251
|
declare function getBfaceUrl(file: string): Promise<string | null>;
|
|
252
252
|
/**
|
|
253
|
-
* 获取消息中的图片链接
|
|
254
|
-
*/
|
|
253
|
+
* 获取消息中的图片链接
|
|
254
|
+
*/
|
|
255
255
|
declare function getImageUrl(event: HasMessage): Promise<string>;
|
|
256
256
|
/**
|
|
257
|
-
* 获取引用回复的消息中的图片链接
|
|
258
|
-
*/
|
|
257
|
+
* 获取引用回复的消息中的图片链接
|
|
258
|
+
*/
|
|
259
259
|
declare function getQuoteImageUrl(event: MessageEvent): Promise<string>;
|
|
260
260
|
/**
|
|
261
|
-
* 获取消息提及的图片链接(消息或者引用消息)
|
|
262
|
-
*/
|
|
261
|
+
* 获取消息提及的图片链接(消息或者引用消息)
|
|
262
|
+
*/
|
|
263
263
|
declare function getMentionedImageUrl(event: MessageEvent): Promise<string>;
|
|
264
264
|
/**
|
|
265
|
-
* 获取消息中的图片元素
|
|
266
|
-
*/
|
|
265
|
+
* 获取消息中的图片元素
|
|
266
|
+
*/
|
|
267
267
|
declare function getImage(event: HasMessage): RecvImageElement | null;
|
|
268
268
|
/**
|
|
269
|
-
* 获取引用回复的图片消息
|
|
270
|
-
*/
|
|
269
|
+
* 获取引用回复的图片消息
|
|
270
|
+
*/
|
|
271
271
|
declare function getQuoteImage(event: MessageEvent): Promise<RecvImageElement | null>;
|
|
272
272
|
/**
|
|
273
|
-
* 获取消息提及的图片(消息或者引用消息)
|
|
274
|
-
*/
|
|
273
|
+
* 获取消息提及的图片(消息或者引用消息)
|
|
274
|
+
*/
|
|
275
275
|
declare function getMentionedImage(event: MessageEvent): Promise<RecvImageElement | null>;
|
|
276
276
|
/**
|
|
277
|
-
* 获取消息中的文本内容,默认采取 'whole' 模式,去除整体的首尾空格,可选 'each' 模式,去除每个文本的首尾空格
|
|
278
|
-
*
|
|
279
|
-
* 如: whole 模式下 => ' 123 [表情] 456 ' => '123 456'
|
|
280
|
-
* 如: each 模式下 => ' 123 [表情] 456 ' => '123456'
|
|
281
|
-
*/
|
|
277
|
+
* 获取消息中的文本内容,默认采取 'whole' 模式,去除整体的首尾空格,可选 'each' 模式,去除每个文本的首尾空格
|
|
278
|
+
*
|
|
279
|
+
* 如: whole 模式下 => ' 123 [表情] 456 ' => '123 456'
|
|
280
|
+
* 如: each 模式下 => ' 123 [表情] 456 ' => '123456'
|
|
281
|
+
*/
|
|
282
282
|
declare function text(event: HasMessage, options?: {
|
|
283
|
-
trim?: boolean |
|
|
283
|
+
trim?: boolean | 'whole' | 'each';
|
|
284
284
|
}): string;
|
|
285
285
|
/**
|
|
286
|
-
* 获取回复的消息中的文本内容
|
|
287
|
-
*/
|
|
286
|
+
* 获取回复的消息中的文本内容
|
|
287
|
+
*/
|
|
288
288
|
declare function getQuoteText(event: MessageEvent): Promise<string>;
|
|
289
289
|
/**
|
|
290
|
-
* 获取提到的用户 QQ 号,可以通过 if(!qq) 判断是否提到了用户,返回 0 代表没有提到用户
|
|
291
|
-
*/
|
|
290
|
+
* 获取提到的用户 QQ 号,可以通过 if(!qq) 判断是否提到了用户,返回 0 代表没有提到用户
|
|
291
|
+
*/
|
|
292
292
|
declare function getMentionedUserId(event: MessageEvent): Promise<number | 0>;
|
|
293
293
|
/**
|
|
294
|
-
* 获取 **一个** 指定类型的消息元素,如获取图片、表情等,如果没有则返回 undefined
|
|
295
|
-
*/
|
|
296
|
-
declare function find<Type extends Pick<RecvElement,
|
|
294
|
+
* 获取 **一个** 指定类型的消息元素,如获取图片、表情等,如果没有则返回 undefined
|
|
295
|
+
*/
|
|
296
|
+
declare function find<Type extends Pick<RecvElement, 'type'>['type'], TargetType extends Extract<RecvElement, {
|
|
297
297
|
type: Type;
|
|
298
298
|
}> = Extract<RecvElement, {
|
|
299
299
|
type: Type;
|
|
300
300
|
}>>(event: HasMessage, type: Type): TargetType | undefined;
|
|
301
301
|
/**
|
|
302
|
-
* 获取 **所有** 指定类型的消息元素,如获取图片、表情等,如果没有则返回 []
|
|
303
|
-
*/
|
|
304
|
-
declare function filter<Type extends Pick<RecvElement,
|
|
302
|
+
* 获取 **所有** 指定类型的消息元素,如获取图片、表情等,如果没有则返回 []
|
|
303
|
+
*/
|
|
304
|
+
declare function filter<Type extends Pick<RecvElement, 'type'>['type'], TargetType extends Extract<RecvElement, {
|
|
305
305
|
type: Type;
|
|
306
306
|
}> = Extract<RecvElement, {
|
|
307
307
|
type: Type;
|
|
308
308
|
}>>(event: HasMessage, type: Type): TargetType[];
|
|
309
309
|
/**
|
|
310
|
-
* 错误信息字符串格式化
|
|
311
|
-
*
|
|
312
|
-
* @param {any} error 待处理错误
|
|
313
|
-
* @return {string} stringify 结果
|
|
314
|
-
*/
|
|
310
|
+
* 错误信息字符串格式化
|
|
311
|
+
*
|
|
312
|
+
* @param {any} error 待处理错误
|
|
313
|
+
* @return {string} stringify 结果
|
|
314
|
+
*/
|
|
315
315
|
declare function stringifyError(error: any): string;
|
|
316
316
|
/**
|
|
317
|
-
* Encodes string | number | buffer using base64.
|
|
318
|
-
*/
|
|
317
|
+
* Encodes string | number | buffer using base64.
|
|
318
|
+
*/
|
|
319
319
|
declare function base64Encode(str: string | number | Buffer): string;
|
|
320
320
|
/**
|
|
321
|
-
* Decodes the string from base64 to UTF-8.
|
|
322
|
-
*
|
|
323
|
-
* @param {string} str - The base64-encoded string.
|
|
324
|
-
*/
|
|
325
|
-
declare function base64Decode(str: string, type?:
|
|
326
|
-
/**
|
|
327
|
-
* JS 对象转换成 `urlencoded` 格式字符串 { name: 'Bob', age: 18 } => name=Bob&age=18
|
|
328
|
-
*
|
|
329
|
-
* @param {Record<number | string, any>} obj JS 对象
|
|
330
|
-
* @return {string} 转换后的字符串
|
|
331
|
-
*/
|
|
321
|
+
* Decodes the string from base64 to UTF-8.
|
|
322
|
+
*
|
|
323
|
+
* @param {string} str - The base64-encoded string.
|
|
324
|
+
*/
|
|
325
|
+
declare function base64Decode(str: string, type?: 'buffer' | BufferEncoding): string | Buffer;
|
|
326
|
+
/**
|
|
327
|
+
* JS 对象转换成 `urlencoded` 格式字符串 { name: 'Bob', age: 18 } => name=Bob&age=18
|
|
328
|
+
*
|
|
329
|
+
* @param {Record<number | string, any>} obj JS 对象
|
|
330
|
+
* @return {string} 转换后的字符串
|
|
331
|
+
*/
|
|
332
332
|
declare function qs(obj: Record<number | string, any>): string;
|
|
333
333
|
/**
|
|
334
|
-
* 格式化展示 QQ 等级
|
|
335
|
-
*/
|
|
334
|
+
* 格式化展示 QQ 等级
|
|
335
|
+
*/
|
|
336
336
|
declare function formatQQLevel(level: number): string;
|
|
337
337
|
/**
|
|
338
|
-
* 申请通过开发者工具登录,以获取 Cookie
|
|
339
|
-
*/
|
|
338
|
+
* 申请通过开发者工具登录,以获取 Cookie
|
|
339
|
+
*/
|
|
340
340
|
declare function requestLoginViaDevTools(): Promise<{
|
|
341
341
|
code: string;
|
|
342
342
|
url: string;
|
|
343
343
|
}>;
|
|
344
344
|
/**
|
|
345
|
-
* 获取开发者工具登录结果
|
|
346
|
-
*/
|
|
345
|
+
* 获取开发者工具登录结果
|
|
346
|
+
*/
|
|
347
347
|
declare function queryDevToolsLoginStatus(code: string): Promise<{
|
|
348
|
-
status:
|
|
348
|
+
status: 'OK' | 'Wait' | 'Expired' | 'Used' | 'Error';
|
|
349
349
|
ticket?: string;
|
|
350
350
|
}>;
|
|
351
351
|
/**
|
|
352
|
-
* 通过开发者工具登录获取 AuthCode
|
|
353
|
-
*/
|
|
352
|
+
* 通过开发者工具登录获取 AuthCode
|
|
353
|
+
*/
|
|
354
354
|
declare function getAuthCodeViaTicket(ticket: string, appid: number): Promise<string>;
|
|
355
355
|
/**
|
|
356
|
-
* 通过 Auth Code 获取 minico Token
|
|
357
|
-
*/
|
|
356
|
+
* 通过 Auth Code 获取 minico Token
|
|
357
|
+
*/
|
|
358
358
|
declare function getMinicoTokenViaAuthCode(authCode: string, appid: number): Promise<any>;
|
|
359
359
|
/**
|
|
360
|
-
* 获取终端输入,返回 Promise,支持提示信息
|
|
361
|
-
*/
|
|
360
|
+
* 获取终端输入,返回 Promise,支持提示信息
|
|
361
|
+
*/
|
|
362
362
|
declare function getTerminalInput(inputTip?: string): Promise<string>;
|
|
363
363
|
/**
|
|
364
|
-
* 当前 Node.js 进程的启动时间,常量,Date 类型
|
|
365
|
-
*/
|
|
364
|
+
* 当前 Node.js 进程的启动时间,常量,Date 类型
|
|
365
|
+
*/
|
|
366
366
|
declare const START_TIME: Date;
|
|
367
367
|
/**
|
|
368
|
-
* 计算 GTK 值
|
|
369
|
-
*/
|
|
368
|
+
* 计算 GTK 值
|
|
369
|
+
*/
|
|
370
370
|
declare function getGTk(pskey: string): number;
|
|
371
371
|
declare namespace config_d_exports {
|
|
372
372
|
export { BOT_CWD, MiokiConfig, botConfig, hasRight, isAdmin, isInPm2, isOwner, isOwnerOrAdmin, readMiokiConfig, readPackageJson, updateBotCWD, updateBotConfig, writePackageJson };
|
|
373
373
|
}
|
|
374
374
|
/**
|
|
375
|
-
* mioki 配置
|
|
376
|
-
*/
|
|
375
|
+
* mioki 配置
|
|
376
|
+
*/
|
|
377
377
|
interface MiokiConfig {
|
|
378
378
|
prefix?: string;
|
|
379
379
|
owners: number[];
|
|
@@ -383,38 +383,38 @@ interface MiokiConfig {
|
|
|
383
383
|
online_push?: boolean;
|
|
384
384
|
log_level?: LogLevel;
|
|
385
385
|
plugins_dir?: string;
|
|
386
|
-
status_permission?:
|
|
386
|
+
status_permission?: 'all' | 'admin-only';
|
|
387
387
|
napcat: {
|
|
388
|
-
protocol?:
|
|
388
|
+
protocol?: 'ws' | 'wss';
|
|
389
389
|
port?: number;
|
|
390
390
|
host?: string;
|
|
391
391
|
token: string;
|
|
392
392
|
};
|
|
393
393
|
}
|
|
394
394
|
/**
|
|
395
|
-
* 机器人根目录
|
|
396
|
-
*/
|
|
395
|
+
* 机器人根目录
|
|
396
|
+
*/
|
|
397
397
|
declare const BOT_CWD: {
|
|
398
398
|
value: string;
|
|
399
399
|
};
|
|
400
|
-
declare function readPackageJson(): Record<
|
|
400
|
+
declare function readPackageJson(): Record<'mioki' | (string & {}), any>;
|
|
401
401
|
declare function writePackageJson(pkg: Record<string, any>): void;
|
|
402
402
|
declare function readMiokiConfig(): MiokiConfig;
|
|
403
403
|
/**
|
|
404
|
-
* `mioki` 框架相关配置
|
|
405
|
-
*/
|
|
404
|
+
* `mioki` 框架相关配置
|
|
405
|
+
*/
|
|
406
406
|
declare const botConfig: MiokiConfig;
|
|
407
407
|
/**
|
|
408
|
-
* 更新 `mioki` 配置,同时同步更新本地配置文件
|
|
409
|
-
*/
|
|
408
|
+
* 更新 `mioki` 配置,同时同步更新本地配置文件
|
|
409
|
+
*/
|
|
410
410
|
declare const updateBotConfig: (draftFn: (config: MiokiConfig) => any) => Promise<void>;
|
|
411
411
|
/**
|
|
412
|
-
* 更新机器人根目录
|
|
413
|
-
*/
|
|
412
|
+
* 更新机器人根目录
|
|
413
|
+
*/
|
|
414
414
|
declare const updateBotCWD: (root: string) => void;
|
|
415
415
|
/**
|
|
416
|
-
* 是否是主人
|
|
417
|
-
*/
|
|
416
|
+
* 是否是主人
|
|
417
|
+
*/
|
|
418
418
|
declare const isOwner: (id: number | {
|
|
419
419
|
sender: {
|
|
420
420
|
user_id: number;
|
|
@@ -423,8 +423,8 @@ declare const isOwner: (id: number | {
|
|
|
423
423
|
user_id: number;
|
|
424
424
|
}) => boolean;
|
|
425
425
|
/**
|
|
426
|
-
* 是否是管理员,注意: 主人不是管理员
|
|
427
|
-
*/
|
|
426
|
+
* 是否是管理员,注意: 主人不是管理员
|
|
427
|
+
*/
|
|
428
428
|
declare const isAdmin: (id: number | {
|
|
429
429
|
sender: {
|
|
430
430
|
user_id: number;
|
|
@@ -433,8 +433,8 @@ declare const isAdmin: (id: number | {
|
|
|
433
433
|
user_id: number;
|
|
434
434
|
}) => boolean;
|
|
435
435
|
/**
|
|
436
|
-
* 是否是主人或管理员
|
|
437
|
-
*/
|
|
436
|
+
* 是否是主人或管理员
|
|
437
|
+
*/
|
|
438
438
|
declare const isOwnerOrAdmin: (id: number | {
|
|
439
439
|
sender: {
|
|
440
440
|
user_id: number;
|
|
@@ -443,8 +443,8 @@ declare const isOwnerOrAdmin: (id: number | {
|
|
|
443
443
|
user_id: number;
|
|
444
444
|
}) => boolean;
|
|
445
445
|
/**
|
|
446
|
-
* 是否有权限,即:主人或管理员
|
|
447
|
-
*/
|
|
446
|
+
* 是否有权限,即:主人或管理员
|
|
447
|
+
*/
|
|
448
448
|
declare const hasRight: (id: number | {
|
|
449
449
|
sender: {
|
|
450
450
|
user_id: number;
|
|
@@ -453,39 +453,39 @@ declare const hasRight: (id: number | {
|
|
|
453
453
|
user_id: number;
|
|
454
454
|
}) => boolean;
|
|
455
455
|
/**
|
|
456
|
-
* 是否在 PM2 中运行
|
|
457
|
-
*/
|
|
456
|
+
* 是否在 PM2 中运行
|
|
457
|
+
*/
|
|
458
458
|
declare const isInPm2: boolean;
|
|
459
459
|
declare namespace actions_d_exports {
|
|
460
460
|
export { createForwardMsg, getViolationRecords, noticeAdmins, noticeFriends, noticeGroups, noticeMainOwner, noticeOwners, runWithErrorHandler, signArk, uploadImageToCollection, uploadImageToGroupHomework, uploadImageToGroupNotice };
|
|
461
461
|
}
|
|
462
462
|
/**
|
|
463
|
-
* 群发群消息
|
|
464
|
-
*/
|
|
463
|
+
* 群发群消息
|
|
464
|
+
*/
|
|
465
465
|
declare function noticeGroups(bot: NapCat, groupIdList: number[], message?: Sendable | null, delay?: number): Promise<void>;
|
|
466
466
|
/**
|
|
467
|
-
* 群发好友消息
|
|
468
|
-
*/
|
|
467
|
+
* 群发好友消息
|
|
468
|
+
*/
|
|
469
469
|
declare function noticeFriends(bot: NapCat, friendIdList: number[], message?: Sendable | null, delay?: number): Promise<void>;
|
|
470
470
|
/**
|
|
471
|
-
* 群发通知给管理员
|
|
472
|
-
*/
|
|
471
|
+
* 群发通知给管理员
|
|
472
|
+
*/
|
|
473
473
|
declare function noticeAdmins(bot: NapCat, message?: Sendable | null, delay?: number): Promise<void>;
|
|
474
474
|
/**
|
|
475
|
-
* 群发通知给主人
|
|
476
|
-
*/
|
|
475
|
+
* 群发通知给主人
|
|
476
|
+
*/
|
|
477
477
|
declare function noticeOwners(bot: NapCat, message?: Sendable | null, delay?: number): Promise<void>;
|
|
478
478
|
/**
|
|
479
|
-
* 群发通知给第一个主人
|
|
480
|
-
*/
|
|
479
|
+
* 群发通知给第一个主人
|
|
480
|
+
*/
|
|
481
481
|
declare function noticeMainOwner(bot: NapCat, message?: Sendable | null): Promise<void>;
|
|
482
482
|
/**
|
|
483
|
-
* 签名卡片 json
|
|
484
|
-
*/
|
|
483
|
+
* 签名卡片 json
|
|
484
|
+
*/
|
|
485
485
|
declare function signArk(bot: NapCat, json: string): Promise<string>;
|
|
486
486
|
/**
|
|
487
|
-
* 运行函数并捕获错误, 并通过 event.reply 发送错误信息
|
|
488
|
-
*/
|
|
487
|
+
* 运行函数并捕获错误, 并通过 event.reply 发送错误信息
|
|
488
|
+
*/
|
|
489
489
|
declare function runWithErrorHandler(bot: NapCat, fn: () => any, event?: {
|
|
490
490
|
reply: (content: Sendable, quote?: boolean) => Promise<{
|
|
491
491
|
message_id: number;
|
|
@@ -497,16 +497,16 @@ declare function createForwardMsg(bot: NapCat, message?: Sendable[], options?: {
|
|
|
497
497
|
nickname?: string;
|
|
498
498
|
}): Sendable;
|
|
499
499
|
/**
|
|
500
|
-
* 上传图片到收藏
|
|
501
|
-
*/
|
|
500
|
+
* 上传图片到收藏
|
|
501
|
+
*/
|
|
502
502
|
declare function uploadImageToCollection(bot: NapCat, buffer: ArrayBuffer): Promise<string>;
|
|
503
503
|
/**
|
|
504
|
-
* 上传图片到群作业
|
|
505
|
-
*/
|
|
504
|
+
* 上传图片到群作业
|
|
505
|
+
*/
|
|
506
506
|
declare function uploadImageToGroupHomework(bot: NapCat, imgBase64: string): Promise<string>;
|
|
507
507
|
/**
|
|
508
|
-
* 上传图片到群公告
|
|
509
|
-
*/
|
|
508
|
+
* 上传图片到群公告
|
|
509
|
+
*/
|
|
510
510
|
declare function uploadImageToGroupNotice(bot: NapCat, urlOrBlob: string | Blob): Promise<{
|
|
511
511
|
h: string;
|
|
512
512
|
w: string;
|
|
@@ -519,8 +519,8 @@ declare function uploadImageToGroupNotice(bot: NapCat, urlOrBlob: string | Blob)
|
|
|
519
519
|
url6: string;
|
|
520
520
|
}>;
|
|
521
521
|
/**
|
|
522
|
-
* 获取 QQ 安全中心违规记录
|
|
523
|
-
*/
|
|
522
|
+
* 获取 QQ 安全中心违规记录
|
|
523
|
+
*/
|
|
524
524
|
declare function getViolationRecords(bot: NapCat, authCode: string, appid: number, size?: number): Promise<{
|
|
525
525
|
type: string;
|
|
526
526
|
time: string;
|
|
@@ -590,16 +590,16 @@ declare namespace services_d_exports {
|
|
|
590
590
|
}
|
|
591
591
|
interface MiokiServices extends Record<string, unknown>, MiokiCoreServiceContrib {}
|
|
592
592
|
/**
|
|
593
|
-
* 服务,由其他插件贡献的方法、数据等
|
|
594
|
-
*/
|
|
593
|
+
* 服务,由其他插件贡献的方法、数据等
|
|
594
|
+
*/
|
|
595
595
|
declare const services: MiokiServices;
|
|
596
596
|
/**
|
|
597
|
-
* 给 `Mioki` 添加公共服务,可用于插件间通信和共享数据
|
|
598
|
-
*
|
|
599
|
-
* 请注意合理设置插件的 `priority` 属性,以确保服务的正确加载顺序,`priority` 默认为 100,越小越先加载
|
|
600
|
-
*
|
|
601
|
-
* 建议需要调用 `addService` 的插件设置 `priority` 为 `10`
|
|
602
|
-
*/
|
|
597
|
+
* 给 `Mioki` 添加公共服务,可用于插件间通信和共享数据
|
|
598
|
+
*
|
|
599
|
+
* 请注意合理设置插件的 `priority` 属性,以确保服务的正确加载顺序,`priority` 默认为 100,越小越先加载
|
|
600
|
+
*
|
|
601
|
+
* 建议需要调用 `addService` 的插件设置 `priority` 为 `10`
|
|
602
|
+
*/
|
|
603
603
|
declare function addService(name: string, service: any, cover?: boolean): () => void;
|
|
604
604
|
//#endregion
|
|
605
605
|
//#region src/plugin.d.ts
|
|
@@ -613,15 +613,15 @@ type RemoveBotParam<T> = { [K in keyof T]: T[K] extends ((...args: any[]) => any
|
|
|
613
613
|
type OmitBotParamFromFunc<Func extends (bot: NapCat, ...args: any[]) => any> = Func extends ((bot: NapCat, ...args: infer A) => infer Return) ? (...args: A) => Return : never;
|
|
614
614
|
declare function bindBot<Params extends Array<any> = any[], Return$1 = any>(bot: NapCat, func: (bot: NapCat, ...args: Params) => Return$1): OmitBotParamFromFunc<(bot: NapCat, ...args: Params) => Return$1>;
|
|
615
615
|
/**
|
|
616
|
-
* Mioki 上下文对象,包含 Mioki 运行时的信息和方法
|
|
617
|
-
*/
|
|
616
|
+
* Mioki 上下文对象,包含 Mioki 运行时的信息和方法
|
|
617
|
+
*/
|
|
618
618
|
interface MiokiContext extends Services, Configs, Utils, RemoveBotParam<Actions> {
|
|
619
619
|
/** 机器人实例 */
|
|
620
620
|
bot: NapCat;
|
|
621
621
|
/** 消息构造器 */
|
|
622
|
-
segment: NapCat[
|
|
622
|
+
segment: NapCat['segment'];
|
|
623
623
|
/** 通过域名获取 Cookies */
|
|
624
|
-
getCookie: NapCat[
|
|
624
|
+
getCookie: NapCat['getCookie'];
|
|
625
625
|
/** 注册事件处理器 */
|
|
626
626
|
handle: <EventName extends keyof EventMap>(eventName: EventName, handler: (event: EventMap[EventName]) => any) => void;
|
|
627
627
|
/** 注册定时任务 */
|
|
@@ -633,7 +633,7 @@ interface MiokiContext extends Services, Configs, Utils, RemoveBotParam<Actions>
|
|
|
633
633
|
}
|
|
634
634
|
declare const runtimePlugins: Map<string, {
|
|
635
635
|
name: string;
|
|
636
|
-
type:
|
|
636
|
+
type: 'builtin' | 'external';
|
|
637
637
|
version: string;
|
|
638
638
|
description: string;
|
|
639
639
|
plugin: MiokiPlugin;
|
|
@@ -654,20 +654,20 @@ interface MiokiPlugin {
|
|
|
654
654
|
setup?: (ctx: MiokiContext) => any;
|
|
655
655
|
}
|
|
656
656
|
/**
|
|
657
|
-
* 定义一个 Mioki 插件
|
|
658
|
-
* @param plugin Mioki 插件对象
|
|
659
|
-
* @returns Mioki 插件对象
|
|
660
|
-
*/
|
|
657
|
+
* 定义一个 Mioki 插件
|
|
658
|
+
* @param plugin Mioki 插件对象
|
|
659
|
+
* @returns Mioki 插件对象
|
|
660
|
+
*/
|
|
661
661
|
declare function definePlugin(plugin: MiokiPlugin): MiokiPlugin;
|
|
662
662
|
/**
|
|
663
|
-
* 确保插件目录存在
|
|
664
|
-
*/
|
|
663
|
+
* 确保插件目录存在
|
|
664
|
+
*/
|
|
665
665
|
declare function ensurePluginDir(): void;
|
|
666
666
|
/**
|
|
667
|
-
* 获取插件目录的绝对路径
|
|
668
|
-
*/
|
|
667
|
+
* 获取插件目录的绝对路径
|
|
668
|
+
*/
|
|
669
669
|
declare function getAbsPluginDir(defaultDir?: string): string;
|
|
670
|
-
declare function enablePlugin(bot: NapCat, plugin: MiokiPlugin, type?:
|
|
670
|
+
declare function enablePlugin(bot: NapCat, plugin: MiokiPlugin, type?: 'builtin' | 'external'): Promise<MiokiPlugin>;
|
|
671
671
|
declare function findLocalPlugins(): Promise<{
|
|
672
672
|
name: string;
|
|
673
673
|
absPath: string;
|