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