mioki 0.9.1 → 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 +40 -35
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +245 -242
- package/dist/index.d.mts +245 -242
- package/dist/index.mjs +39 -34
- package/dist/index.mjs.map +1 -1
- package/dist/{package-DRiVbSa9.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-CbQDT4KP.mjs +0 -6
- package/dist/package-CbQDT4KP.mjs.map +0 -1
- package/dist/package-DRiVbSa9.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,37 +385,38 @@ interface MiokiConfig {
|
|
|
385
385
|
online_push?: boolean;
|
|
386
386
|
log_level?: LogLevel;
|
|
387
387
|
plugins_dir?: string;
|
|
388
|
+
status_permission?: 'all' | 'admin-only';
|
|
388
389
|
napcat: {
|
|
389
|
-
protocol?:
|
|
390
|
+
protocol?: 'ws' | 'wss';
|
|
390
391
|
port?: number;
|
|
391
392
|
host?: string;
|
|
392
393
|
token: string;
|
|
393
394
|
};
|
|
394
395
|
}
|
|
395
396
|
/**
|
|
396
|
-
* 机器人根目录
|
|
397
|
-
*/
|
|
397
|
+
* 机器人根目录
|
|
398
|
+
*/
|
|
398
399
|
declare const BOT_CWD: {
|
|
399
400
|
value: string;
|
|
400
401
|
};
|
|
401
|
-
declare function readPackageJson(): Record<
|
|
402
|
+
declare function readPackageJson(): Record<'mioki' | (string & {}), any>;
|
|
402
403
|
declare function writePackageJson(pkg: Record<string, any>): void;
|
|
403
404
|
declare function readMiokiConfig(): MiokiConfig;
|
|
404
405
|
/**
|
|
405
|
-
* `mioki` 框架相关配置
|
|
406
|
-
*/
|
|
406
|
+
* `mioki` 框架相关配置
|
|
407
|
+
*/
|
|
407
408
|
declare const botConfig: MiokiConfig;
|
|
408
409
|
/**
|
|
409
|
-
* 更新 `mioki` 配置,同时同步更新本地配置文件
|
|
410
|
-
*/
|
|
410
|
+
* 更新 `mioki` 配置,同时同步更新本地配置文件
|
|
411
|
+
*/
|
|
411
412
|
declare const updateBotConfig: (draftFn: (config: MiokiConfig) => any) => Promise<void>;
|
|
412
413
|
/**
|
|
413
|
-
* 更新机器人根目录
|
|
414
|
-
*/
|
|
414
|
+
* 更新机器人根目录
|
|
415
|
+
*/
|
|
415
416
|
declare const updateBotCWD: (root: string) => void;
|
|
416
417
|
/**
|
|
417
|
-
* 是否是主人
|
|
418
|
-
*/
|
|
418
|
+
* 是否是主人
|
|
419
|
+
*/
|
|
419
420
|
declare const isOwner: (id: number | {
|
|
420
421
|
sender: {
|
|
421
422
|
user_id: number;
|
|
@@ -424,8 +425,8 @@ declare const isOwner: (id: number | {
|
|
|
424
425
|
user_id: number;
|
|
425
426
|
}) => boolean;
|
|
426
427
|
/**
|
|
427
|
-
* 是否是管理员,注意: 主人不是管理员
|
|
428
|
-
*/
|
|
428
|
+
* 是否是管理员,注意: 主人不是管理员
|
|
429
|
+
*/
|
|
429
430
|
declare const isAdmin: (id: number | {
|
|
430
431
|
sender: {
|
|
431
432
|
user_id: number;
|
|
@@ -434,8 +435,8 @@ declare const isAdmin: (id: number | {
|
|
|
434
435
|
user_id: number;
|
|
435
436
|
}) => boolean;
|
|
436
437
|
/**
|
|
437
|
-
* 是否是主人或管理员
|
|
438
|
-
*/
|
|
438
|
+
* 是否是主人或管理员
|
|
439
|
+
*/
|
|
439
440
|
declare const isOwnerOrAdmin: (id: number | {
|
|
440
441
|
sender: {
|
|
441
442
|
user_id: number;
|
|
@@ -444,8 +445,8 @@ declare const isOwnerOrAdmin: (id: number | {
|
|
|
444
445
|
user_id: number;
|
|
445
446
|
}) => boolean;
|
|
446
447
|
/**
|
|
447
|
-
* 是否有权限,即:主人或管理员
|
|
448
|
-
*/
|
|
448
|
+
* 是否有权限,即:主人或管理员
|
|
449
|
+
*/
|
|
449
450
|
declare const hasRight: (id: number | {
|
|
450
451
|
sender: {
|
|
451
452
|
user_id: number;
|
|
@@ -454,39 +455,39 @@ declare const hasRight: (id: number | {
|
|
|
454
455
|
user_id: number;
|
|
455
456
|
}) => boolean;
|
|
456
457
|
/**
|
|
457
|
-
* 是否在 PM2 中运行
|
|
458
|
-
*/
|
|
458
|
+
* 是否在 PM2 中运行
|
|
459
|
+
*/
|
|
459
460
|
declare const isInPm2: boolean;
|
|
460
461
|
declare namespace actions_d_exports {
|
|
461
462
|
export { createForwardMsg, getViolationRecords, noticeAdmins, noticeFriends, noticeGroups, noticeMainOwner, noticeOwners, runWithErrorHandler, signArk, uploadImageToCollection, uploadImageToGroupHomework, uploadImageToGroupNotice };
|
|
462
463
|
}
|
|
463
464
|
/**
|
|
464
|
-
* 群发群消息
|
|
465
|
-
*/
|
|
465
|
+
* 群发群消息
|
|
466
|
+
*/
|
|
466
467
|
declare function noticeGroups(bot: NapCat, groupIdList: number[], message?: Sendable | null, delay?: number): Promise<void>;
|
|
467
468
|
/**
|
|
468
|
-
* 群发好友消息
|
|
469
|
-
*/
|
|
469
|
+
* 群发好友消息
|
|
470
|
+
*/
|
|
470
471
|
declare function noticeFriends(bot: NapCat, friendIdList: number[], message?: Sendable | null, delay?: number): Promise<void>;
|
|
471
472
|
/**
|
|
472
|
-
* 群发通知给管理员
|
|
473
|
-
*/
|
|
473
|
+
* 群发通知给管理员
|
|
474
|
+
*/
|
|
474
475
|
declare function noticeAdmins(bot: NapCat, message?: Sendable | null, delay?: number): Promise<void>;
|
|
475
476
|
/**
|
|
476
|
-
* 群发通知给主人
|
|
477
|
-
*/
|
|
477
|
+
* 群发通知给主人
|
|
478
|
+
*/
|
|
478
479
|
declare function noticeOwners(bot: NapCat, message?: Sendable | null, delay?: number): Promise<void>;
|
|
479
480
|
/**
|
|
480
|
-
* 群发通知给第一个主人
|
|
481
|
-
*/
|
|
481
|
+
* 群发通知给第一个主人
|
|
482
|
+
*/
|
|
482
483
|
declare function noticeMainOwner(bot: NapCat, message?: Sendable | null): Promise<void>;
|
|
483
484
|
/**
|
|
484
|
-
* 签名卡片 json
|
|
485
|
-
*/
|
|
485
|
+
* 签名卡片 json
|
|
486
|
+
*/
|
|
486
487
|
declare function signArk(bot: NapCat, json: string): Promise<string>;
|
|
487
488
|
/**
|
|
488
|
-
* 运行函数并捕获错误, 并通过 event.reply 发送错误信息
|
|
489
|
-
*/
|
|
489
|
+
* 运行函数并捕获错误, 并通过 event.reply 发送错误信息
|
|
490
|
+
*/
|
|
490
491
|
declare function runWithErrorHandler(bot: NapCat, fn: () => any, event?: {
|
|
491
492
|
reply: (content: Sendable, quote?: boolean) => Promise<{
|
|
492
493
|
message_id: number;
|
|
@@ -498,16 +499,16 @@ declare function createForwardMsg(bot: NapCat, message?: Sendable[], options?: {
|
|
|
498
499
|
nickname?: string;
|
|
499
500
|
}): Sendable;
|
|
500
501
|
/**
|
|
501
|
-
* 上传图片到收藏
|
|
502
|
-
*/
|
|
502
|
+
* 上传图片到收藏
|
|
503
|
+
*/
|
|
503
504
|
declare function uploadImageToCollection(bot: NapCat, buffer: ArrayBuffer): Promise<string>;
|
|
504
505
|
/**
|
|
505
|
-
* 上传图片到群作业
|
|
506
|
-
*/
|
|
506
|
+
* 上传图片到群作业
|
|
507
|
+
*/
|
|
507
508
|
declare function uploadImageToGroupHomework(bot: NapCat, imgBase64: string): Promise<string>;
|
|
508
509
|
/**
|
|
509
|
-
* 上传图片到群公告
|
|
510
|
-
*/
|
|
510
|
+
* 上传图片到群公告
|
|
511
|
+
*/
|
|
511
512
|
declare function uploadImageToGroupNotice(bot: NapCat, urlOrBlob: string | Blob): Promise<{
|
|
512
513
|
h: string;
|
|
513
514
|
w: string;
|
|
@@ -520,8 +521,8 @@ declare function uploadImageToGroupNotice(bot: NapCat, urlOrBlob: string | Blob)
|
|
|
520
521
|
url6: string;
|
|
521
522
|
}>;
|
|
522
523
|
/**
|
|
523
|
-
* 获取 QQ 安全中心违规记录
|
|
524
|
-
*/
|
|
524
|
+
* 获取 QQ 安全中心违规记录
|
|
525
|
+
*/
|
|
525
526
|
declare function getViolationRecords(bot: NapCat, authCode: string, appid: number, size?: number): Promise<{
|
|
526
527
|
type: string;
|
|
527
528
|
time: string;
|
|
@@ -582,23 +583,25 @@ interface MiokiStatus {
|
|
|
582
583
|
//#region src/builtins/core/index.d.ts
|
|
583
584
|
interface MiokiCoreServiceContrib {
|
|
584
585
|
/** 获取框架和系统的实时状态 */
|
|
585
|
-
|
|
586
|
+
miokiStatus(): Promise<MiokiStatus>;
|
|
587
|
+
/** 获取框架和系统的实时状态字符串 */
|
|
588
|
+
miokiStatusStr(): Promise<string>;
|
|
586
589
|
}
|
|
587
590
|
declare namespace services_d_exports {
|
|
588
591
|
export { MiokiServices, addService, services };
|
|
589
592
|
}
|
|
590
593
|
interface MiokiServices extends Record<string, unknown>, MiokiCoreServiceContrib {}
|
|
591
594
|
/**
|
|
592
|
-
* 服务,由其他插件贡献的方法、数据等
|
|
593
|
-
*/
|
|
595
|
+
* 服务,由其他插件贡献的方法、数据等
|
|
596
|
+
*/
|
|
594
597
|
declare const services: MiokiServices;
|
|
595
598
|
/**
|
|
596
|
-
* 给 `Mioki` 添加公共服务,可用于插件间通信和共享数据
|
|
597
|
-
*
|
|
598
|
-
* 请注意合理设置插件的 `priority` 属性,以确保服务的正确加载顺序,`priority` 默认为 100,越小越先加载
|
|
599
|
-
*
|
|
600
|
-
* 建议需要调用 `addService` 的插件设置 `priority` 为 `10`
|
|
601
|
-
*/
|
|
599
|
+
* 给 `Mioki` 添加公共服务,可用于插件间通信和共享数据
|
|
600
|
+
*
|
|
601
|
+
* 请注意合理设置插件的 `priority` 属性,以确保服务的正确加载顺序,`priority` 默认为 100,越小越先加载
|
|
602
|
+
*
|
|
603
|
+
* 建议需要调用 `addService` 的插件设置 `priority` 为 `10`
|
|
604
|
+
*/
|
|
602
605
|
declare function addService(name: string, service: any, cover?: boolean): () => void;
|
|
603
606
|
//#endregion
|
|
604
607
|
//#region src/plugin.d.ts
|
|
@@ -612,15 +615,15 @@ type RemoveBotParam<T> = { [K in keyof T]: T[K] extends ((...args: any[]) => any
|
|
|
612
615
|
type OmitBotParamFromFunc<Func extends (bot: NapCat, ...args: any[]) => any> = Func extends ((bot: NapCat, ...args: infer A) => infer Return) ? (...args: A) => Return : never;
|
|
613
616
|
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>;
|
|
614
617
|
/**
|
|
615
|
-
* Mioki 上下文对象,包含 Mioki 运行时的信息和方法
|
|
616
|
-
*/
|
|
618
|
+
* Mioki 上下文对象,包含 Mioki 运行时的信息和方法
|
|
619
|
+
*/
|
|
617
620
|
interface MiokiContext extends Services, Configs, Utils, RemoveBotParam<Actions> {
|
|
618
621
|
/** 机器人实例 */
|
|
619
622
|
bot: NapCat;
|
|
620
623
|
/** 消息构造器 */
|
|
621
|
-
segment: NapCat[
|
|
624
|
+
segment: NapCat['segment'];
|
|
622
625
|
/** 通过域名获取 Cookies */
|
|
623
|
-
getCookie: NapCat[
|
|
626
|
+
getCookie: NapCat['getCookie'];
|
|
624
627
|
/** 注册事件处理器 */
|
|
625
628
|
handle: <EventName extends keyof EventMap>(eventName: EventName, handler: (event: EventMap[EventName]) => any) => void;
|
|
626
629
|
/** 注册定时任务 */
|
|
@@ -632,7 +635,7 @@ interface MiokiContext extends Services, Configs, Utils, RemoveBotParam<Actions>
|
|
|
632
635
|
}
|
|
633
636
|
declare const runtimePlugins: Map<string, {
|
|
634
637
|
name: string;
|
|
635
|
-
type:
|
|
638
|
+
type: 'builtin' | 'external';
|
|
636
639
|
version: string;
|
|
637
640
|
description: string;
|
|
638
641
|
plugin: MiokiPlugin;
|
|
@@ -653,20 +656,20 @@ interface MiokiPlugin {
|
|
|
653
656
|
setup?: (ctx: MiokiContext) => any;
|
|
654
657
|
}
|
|
655
658
|
/**
|
|
656
|
-
* 定义一个 Mioki 插件
|
|
657
|
-
* @param plugin Mioki 插件对象
|
|
658
|
-
* @returns Mioki 插件对象
|
|
659
|
-
*/
|
|
659
|
+
* 定义一个 Mioki 插件
|
|
660
|
+
* @param plugin Mioki 插件对象
|
|
661
|
+
* @returns Mioki 插件对象
|
|
662
|
+
*/
|
|
660
663
|
declare function definePlugin(plugin: MiokiPlugin): MiokiPlugin;
|
|
661
664
|
/**
|
|
662
|
-
* 确保插件目录存在
|
|
663
|
-
*/
|
|
665
|
+
* 确保插件目录存在
|
|
666
|
+
*/
|
|
664
667
|
declare function ensurePluginDir(): void;
|
|
665
668
|
/**
|
|
666
|
-
* 获取插件目录的绝对路径
|
|
667
|
-
*/
|
|
669
|
+
* 获取插件目录的绝对路径
|
|
670
|
+
*/
|
|
668
671
|
declare function getAbsPluginDir(defaultDir?: string): string;
|
|
669
|
-
declare function enablePlugin(bot: NapCat, plugin: MiokiPlugin, type?:
|
|
672
|
+
declare function enablePlugin(bot: NapCat, plugin: MiokiPlugin, type?: 'builtin' | 'external'): Promise<MiokiPlugin>;
|
|
670
673
|
declare function findLocalPlugins(): Promise<{
|
|
671
674
|
name: string;
|
|
672
675
|
absPath: string;
|