koishi-plugin-lolbaninfo 1.0.3 → 1.1.1
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/index.d.ts +20 -6
- package/lib/index.js +81 -33
- package/package.json +1 -1
package/lib/index.d.ts
CHANGED
|
@@ -1,12 +1,26 @@
|
|
|
1
1
|
import { Context, Schema } from 'koishi';
|
|
2
2
|
export declare const name = "lolbaninfo";
|
|
3
|
+
export declare const usage = "\n# \u26A0\uFE0F LOL\u5C01\u53F7\u67E5\u8BE2\u63D2\u4EF6 \u26A0\uFE0F\n- **\u6B64\u63D2\u4EF6\u4F5C\u8005\u53EA\u662F\u5236\u4F5C\u5DE5\u5177\uFF0C\u7F51\u7AD9API\u53CA\u5176\u5185\u5BB9\u5747\u4E0E\u4F5C\u8005\u65E0\u5173\uFF0C\u8BF7\u5408\u7406\u4F7F\u7528**\n- \u65E0\u9700\u5BC6\u7801\uFF0C\u76F4\u63A5\u6839\u636EQQ\u53F7\u67E5\u8BE2\u8D26\u53F7\u5C01\u7981\u72B6\u6001\u4E0E\u8BE6\u7EC6\u4FE1\u606F\n- \u6CE8\u518C\u7F51\u7AD9\uFF1Ahttps://yun.4png.com/\n---\n\n<details>\n<summary><strong><span style=\"font-size: 1.3em; color: #2a2a2a;\">\uD83D\uDCE2 \u529F\u80FD\u7279\u70B9</span></strong></summary>\n\n- \u652F\u6301\u901A\u8FC7QQ\u53F7\u5FEB\u901F\u67E5\u8BE2LOL\u8D26\u53F7\u5C01\u7981\u72B6\u6001\n- \u81EA\u52A8\u91CD\u8BD5\u673A\u5236\uFF0C\u63D0\u9AD8\u67E5\u8BE2\u6210\u529F\u7387\n- \u65E5\u5FD7\u81EA\u52A8\u6E05\u7406\uFF0C\u907F\u514D\u65E5\u5FD7\u8FC7\u591A\u5360\u7528\u5185\u5B58\n- \u7B80\u5355\u6613\u7528\u7684\u6307\u4EE4\u64CD\u4F5C\uFF0C\u9002\u5408\u5404\u7C7B\u7528\u6237\n\n</details>\n\n<details>\n<summary><strong><span style=\"font-size: 1.3em; color: #2a2a2a;\">\uD83D\uDEE0\uFE0F \u914D\u7F6E\u8BF4\u660E</span></strong></summary>\n\n- apiUrl: \u76EE\u6807\u7F51\u7AD9\u7684API\u63A5\u53E3\u5730\u5740\uFF0C\u901A\u5E38\u65E0\u9700\u4FEE\u6539\n- apiToken: \u7F51\u7AD9API\u7684\u8BBF\u95EEToken\uFF08\u6CE8\u518C\u5373\u53EF\u83B7\u5F97\uFF09\uFF0C\u6CE8\u518C\u7F51\u7AD9\uFF1Ahttps://yun.4png.com/\n- retryTimes: \u8BF7\u6C42\u5931\u8D25\u65F6\u7684\u6700\u5927\u91CD\u8BD5\u6B21\u6570\uFF0C\u5EFA\u8BAE\u8BBE\u7F6E\u4E3A2-3\u6B21\n- retryDelay: \u6BCF\u6B21\u91CD\u8BD5\u7684\u95F4\u9694\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF09\uFF0C\u5EFA\u8BAE\u8BBE\u7F6E\u4E3A1000-2000ms\n- maxLogCount: \u65E5\u5FD7\u81EA\u52A8\u6E05\u7406\u9608\u503C\uFF08\u6700\u5927\u5B58\u50A8\u6761\u6570\uFF09\uFF0C\u5EFA\u8BAE\u8BBE\u7F6E\u4E3A100-200\u6761\n\n</details>\n\n<details>\n<summary><strong><span style=\"font-size: 1.3em; color: #2a2a2a;\">\uD83D\uDCA1 \u4F7F\u7528\u6307\u4EE4</span></strong></summary>\n\n- \u67E5\u5C01\u53F7+\u7A7A\u683C+<qq\u53F7>\uFF1A\u67E5\u8BE2\u6307\u5B9AQQ\u53F7\u7684LOL\u5C01\u7981\u72B6\u6001\n- \u793A\u4F8B\uFF1A<pre><code>\u67E5\u5C01\u53F7 123456789</code></pre>\n\n</details>\n\n<details>\n<summary><strong><span style=\"font-size: 1.3em; color: #2a2a2a;\">\uD83D\uDCA1 \u4F7F\u7528\u6307\u4EE4</span></strong></summary>\n\n- \u67E5\u5C01\u53F7+\u7A7A\u683C+<qq\u53F7>\uFF1A\u67E5\u8BE2\u6307\u5B9AQQ\u53F7\u7684LOL\u5C01\u7981\u72B6\u6001\n- \u793A\u4F8B\uFF1A<pre><code>\u67E5\u5C01\u53F7 123456789</code></pre>\n\n</details>\n\n<details>\n<summary><strong><span style=\"font-size: 1.3em; color: #2a2a2a;\">\uD83D\uDCC4 \u6CE8\u610F\u4E8B\u9879</span></strong></summary>\n\n- \u8BF7\u786E\u4FDD\u63D0\u4F9B\u7684API Token\u6709\u6548\u4E14\u6709\u67E5\u8BE2\u6743\u9650\n- \u672C\u63D2\u4EF6\u4EC5\u4F9B\u67E5\u8BE2\u5C01\u7981\u72B6\u6001\uFF0C\u8BF7\u52FF\u7528\u4E8E\u5176\u4ED6\u7528\u9014\n\n</details>\n";
|
|
4
|
+
export declare enum ReplyMode {
|
|
5
|
+
MENTION = "mention",// @用户
|
|
6
|
+
QUOTE = "quote",// 引用回复
|
|
7
|
+
NORMAL = "normal"
|
|
8
|
+
}
|
|
3
9
|
export interface Config {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
10
|
+
api: {
|
|
11
|
+
apiUrl: string;
|
|
12
|
+
apiToken: string;
|
|
13
|
+
};
|
|
14
|
+
reply: {
|
|
15
|
+
replyMode: ReplyMode;
|
|
16
|
+
};
|
|
17
|
+
retry: {
|
|
18
|
+
retryTimes: number;
|
|
19
|
+
retryDelay: number;
|
|
20
|
+
};
|
|
21
|
+
log: {
|
|
22
|
+
maxLogCount: number;
|
|
23
|
+
};
|
|
9
24
|
}
|
|
10
|
-
export declare const usage = "\n# \u26A0\uFE0F LOL\u5C01\u53F7\u67E5\u8BE2\u63D2\u4EF6 \u26A0\uFE0F\n- **\u6B64\u63D2\u4EF6\u4F5C\u8005\u53EA\u662F\u5236\u4F5C\u5DE5\u5177\uFF0C\u7F51\u7AD9API\u53CA\u5176\u5185\u5BB9\u5747\u4E0E\u4F5C\u8005\u65E0\u5173\uFF0C\u8BF7\u5408\u7406\u4F7F\u7528**\n- \u65E0\u9700\u5BC6\u7801\uFF0C\u76F4\u63A5\u6839\u636EQQ\u53F7\u67E5\u8BE2\u8D26\u53F7\u5C01\u7981\u72B6\u6001\u4E0E\u8BE6\u7EC6\u4FE1\u606F\n\n---\n\n<details>\n<summary><strong><span style=\"font-size: 1.3em; color: #2a2a2a;\">\uD83D\uDCE2 \u529F\u80FD\u7279\u70B9</span></strong></summary>\n\n- \u652F\u6301\u901A\u8FC7QQ\u53F7\u5FEB\u901F\u67E5\u8BE2LOL\u8D26\u53F7\u5C01\u7981\u72B6\u6001\n- \u81EA\u52A8\u91CD\u8BD5\u673A\u5236\uFF0C\u63D0\u9AD8\u67E5\u8BE2\u6210\u529F\u7387\n- \u65E5\u5FD7\u81EA\u52A8\u6E05\u7406\uFF0C\u907F\u514D\u65E5\u5FD7\u8FC7\u591A\u5360\u7528\u5185\u5B58\n- \u7B80\u5355\u6613\u7528\u7684\u6307\u4EE4\u64CD\u4F5C\uFF0C\u9002\u5408\u5404\u7C7B\u7528\u6237\n\n</details>\n\n<details>\n<summary><strong><span style=\"font-size: 1.3em; color: #2a2a2a;\">\uD83D\uDEE0\uFE0F \u914D\u7F6E\u8BF4\u660E</span></strong></summary>\n\n- apiUrl: \u76EE\u6807\u7F51\u7AD9\u7684API\u63A5\u53E3\u5730\u5740\uFF0C\u901A\u5E38\u65E0\u9700\u4FEE\u6539\n- apiToken: \u7F51\u7AD9API\u7684\u8BBF\u95EEToken\uFF08\u6CE8\u518C\u5373\u53EF\u83B7\u5F97\uFF09\uFF0C\u6CE8\u518C\u7F51\u7AD9\uFF1Ahttps://yun.4png.com/\n- retryTimes: \u8BF7\u6C42\u5931\u8D25\u65F6\u7684\u6700\u5927\u91CD\u8BD5\u6B21\u6570\uFF0C\u5EFA\u8BAE\u8BBE\u7F6E\u4E3A2-3\u6B21\n- retryDelay: \u6BCF\u6B21\u91CD\u8BD5\u7684\u95F4\u9694\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF09\uFF0C\u5EFA\u8BAE\u8BBE\u7F6E\u4E3A1000-2000ms\n- maxLogCount: \u65E5\u5FD7\u81EA\u52A8\u6E05\u7406\u9608\u503C\uFF08\u6700\u5927\u5B58\u50A8\u6761\u6570\uFF09\uFF0C\u5EFA\u8BAE\u8BBE\u7F6E\u4E3A100-200\u6761\n\n</details>\n\n<details>\n<summary><strong><span style=\"font-size: 1.3em; color: #2a2a2a;\">\uD83D\uDCA1 \u4F7F\u7528\u6307\u4EE4</span></strong></summary>\n\n- \u67E5\u5C01\u53F7+\u7A7A\u683C+<qq\u53F7>\uFF1A\u67E5\u8BE2\u6307\u5B9AQQ\u53F7\u7684LOL\u5C01\u7981\u72B6\u6001\n- \u793A\u4F8B\uFF1A<pre><code>\u67E5\u5C01\u53F7 123456789</code></pre>\n\n</details>\n\n<details>\n<summary><strong><span style=\"font-size: 1.3em; color: #2a2a2a;\">\uD83D\uDCA1 \u4F7F\u7528\u6307\u4EE4</span></strong></summary>\n\n- \u67E5\u5C01\u53F7+\u7A7A\u683C+<qq\u53F7>\uFF1A\u67E5\u8BE2\u6307\u5B9AQQ\u53F7\u7684LOL\u5C01\u7981\u72B6\u6001\n- \u793A\u4F8B\uFF1A<pre><code>\u67E5\u5C01\u53F7 123456789</code></pre>\n\n</details>\n\n<details>\n<summary><strong><span style=\"font-size: 1.3em; color: #2a2a2a;\">\uD83D\uDCC4 \u6CE8\u610F\u4E8B\u9879</span></strong></summary>\n\n- \u8BF7\u786E\u4FDD\u63D0\u4F9B\u7684API Token\u6709\u6548\u4E14\u6709\u67E5\u8BE2\u6743\u9650\n- \u672C\u63D2\u4EF6\u4EC5\u4F9B\u67E5\u8BE2\u5C01\u7981\u72B6\u6001\uFF0C\u8BF7\u52FF\u7528\u4E8E\u5176\u4ED6\u7528\u9014\n\n</details>\n";
|
|
11
25
|
export declare const Config: Schema<Config>;
|
|
12
26
|
export declare function apply(ctx: Context, config: Config): void;
|
package/lib/index.js
CHANGED
|
@@ -21,6 +21,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
21
21
|
var src_exports = {};
|
|
22
22
|
__export(src_exports, {
|
|
23
23
|
Config: () => Config,
|
|
24
|
+
ReplyMode: () => ReplyMode,
|
|
24
25
|
apply: () => apply,
|
|
25
26
|
name: () => name,
|
|
26
27
|
usage: () => usage
|
|
@@ -32,7 +33,7 @@ var usage = `
|
|
|
32
33
|
# ⚠️ LOL封号查询插件 ⚠️
|
|
33
34
|
- **此插件作者只是制作工具,网站API及其内容均与作者无关,请合理使用**
|
|
34
35
|
- 无需密码,直接根据QQ号查询账号封禁状态与详细信息
|
|
35
|
-
|
|
36
|
+
- 注册网站:https://yun.4png.com/
|
|
36
37
|
---
|
|
37
38
|
|
|
38
39
|
<details>
|
|
@@ -80,13 +81,43 @@ var usage = `
|
|
|
80
81
|
|
|
81
82
|
</details>
|
|
82
83
|
`;
|
|
83
|
-
var
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
84
|
+
var ReplyMode = /* @__PURE__ */ ((ReplyMode2) => {
|
|
85
|
+
ReplyMode2["MENTION"] = "mention";
|
|
86
|
+
ReplyMode2["QUOTE"] = "quote";
|
|
87
|
+
ReplyMode2["NORMAL"] = "normal";
|
|
88
|
+
return ReplyMode2;
|
|
89
|
+
})(ReplyMode || {});
|
|
90
|
+
var Config = import_koishi.Schema.intersect([
|
|
91
|
+
// 使用 intersect 来组合多个对象
|
|
92
|
+
import_koishi.Schema.object({
|
|
93
|
+
api: import_koishi.Schema.object({
|
|
94
|
+
apiUrl: import_koishi.Schema.string().description("目标网站的API接口地址").default("https://yun.4png.com/api/query.html"),
|
|
95
|
+
// .required(), // 移除 .required(),因为有默认值
|
|
96
|
+
apiToken: import_koishi.Schema.string().description("网站API的访问Token(注册即可获得)").required()
|
|
97
|
+
// 这个是真正需要用户输入的
|
|
98
|
+
}).description("API 设置"),
|
|
99
|
+
// API 相关配置的分组描述
|
|
100
|
+
reply: import_koishi.Schema.object({
|
|
101
|
+
replyMode: import_koishi.Schema.union([
|
|
102
|
+
import_koishi.Schema.const("mention" /* MENTION */).description("使用 @ 用户进行回复"),
|
|
103
|
+
import_koishi.Schema.const("quote" /* QUOTE */).description("使用引用进行回复"),
|
|
104
|
+
import_koishi.Schema.const("normal" /* NORMAL */).description("保持普通回复")
|
|
105
|
+
]).description("机器人回复消息的方式").default("normal" /* NORMAL */)
|
|
106
|
+
// 默认为普通模式
|
|
107
|
+
}).description("回复 设置"),
|
|
108
|
+
// 回复相关配置的分组描述
|
|
109
|
+
retry: import_koishi.Schema.object({
|
|
110
|
+
retryTimes: import_koishi.Schema.number().description("请求失败时的最大重试次数").default(2).min(0).max(5),
|
|
111
|
+
retryDelay: import_koishi.Schema.number().description("每次重试的间隔时间(毫秒)").default(1e3).min(500).max(5e3)
|
|
112
|
+
}).description("重试 设置"),
|
|
113
|
+
// 重试相关配置的分组描述
|
|
114
|
+
log: import_koishi.Schema.object({
|
|
115
|
+
// 新增日志配置分组
|
|
116
|
+
maxLogCount: import_koishi.Schema.number().description("日志自动清理阈值(最大存储条数)").default(100).min(20).max(500)
|
|
117
|
+
}).description("日志 设置")
|
|
118
|
+
// 日志相关配置的分组描述
|
|
119
|
+
})
|
|
120
|
+
]);
|
|
90
121
|
var logCache = [];
|
|
91
122
|
function addLogAndClean(logger, content, maxCount) {
|
|
92
123
|
const formattedLog = `[${(/* @__PURE__ */ new Date()).toLocaleString()}] ${content}`;
|
|
@@ -100,40 +131,45 @@ function addLogAndClean(logger, content, maxCount) {
|
|
|
100
131
|
__name(addLogAndClean, "addLogAndClean");
|
|
101
132
|
async function requestWithRetry(ctx, config, qq, logger) {
|
|
102
133
|
let attempt = 0;
|
|
103
|
-
|
|
134
|
+
const { apiUrl, apiToken } = config.api;
|
|
135
|
+
const { retryTimes, retryDelay } = config.retry;
|
|
136
|
+
const { maxLogCount } = config.log;
|
|
137
|
+
while (attempt <= retryTimes) {
|
|
104
138
|
try {
|
|
105
|
-
const requestLog = `[第${attempt + 1}次请求] 开始查询QQ:${qq},目标API:${
|
|
106
|
-
addLogAndClean(logger, requestLog,
|
|
139
|
+
const requestLog = `[第${attempt + 1}次请求] 开始查询QQ:${qq},目标API:${apiUrl}`;
|
|
140
|
+
addLogAndClean(logger, requestLog, maxLogCount);
|
|
107
141
|
logger.info(requestLog);
|
|
108
|
-
const response = await ctx.http.get(
|
|
142
|
+
const response = await ctx.http.get(apiUrl, {
|
|
143
|
+
// 使用解构后的值
|
|
109
144
|
params: {
|
|
110
145
|
qq,
|
|
111
|
-
token:
|
|
146
|
+
token: apiToken
|
|
147
|
+
// 使用解构后的值
|
|
112
148
|
},
|
|
113
149
|
// 强制解析JSON,避免返回文本格式
|
|
114
150
|
responseType: "json"
|
|
115
151
|
});
|
|
116
152
|
const successLog = `[第${attempt + 1}次请求] 查询成功,返回状态码:200`;
|
|
117
|
-
addLogAndClean(logger, successLog,
|
|
153
|
+
addLogAndClean(logger, successLog, maxLogCount);
|
|
118
154
|
logger.success(successLog);
|
|
119
155
|
return response;
|
|
120
156
|
} catch (error) {
|
|
121
157
|
attempt++;
|
|
122
158
|
const status = error.response?.status || "未知状态";
|
|
123
159
|
const failLog = `[第${attempt}次请求] 失败,状态码:${status},错误信息:${error.message}`;
|
|
124
|
-
addLogAndClean(logger, failLog,
|
|
160
|
+
addLogAndClean(logger, failLog, maxLogCount);
|
|
125
161
|
logger.warn(failLog);
|
|
126
162
|
const isRetryable = [400, 403].includes(status);
|
|
127
|
-
if (!isRetryable || attempt >
|
|
128
|
-
const endLog = `[请求终止] 非重试错误或已达最大重试次数(${
|
|
129
|
-
addLogAndClean(logger, endLog,
|
|
163
|
+
if (!isRetryable || attempt > retryTimes) {
|
|
164
|
+
const endLog = `[请求终止] 非重试错误或已达最大重试次数(${retryTimes}次)`;
|
|
165
|
+
addLogAndClean(logger, endLog, maxLogCount);
|
|
130
166
|
logger.error(endLog);
|
|
131
167
|
throw error;
|
|
132
168
|
}
|
|
133
|
-
const retryLog = `[准备重试] 间隔${
|
|
134
|
-
addLogAndClean(logger, retryLog,
|
|
169
|
+
const retryLog = `[准备重试] 间隔${retryDelay}ms后进行第${attempt}次重试`;
|
|
170
|
+
addLogAndClean(logger, retryLog, maxLogCount);
|
|
135
171
|
logger.info(retryLog);
|
|
136
|
-
await (0, import_koishi.sleep)(
|
|
172
|
+
await (0, import_koishi.sleep)(retryDelay);
|
|
137
173
|
}
|
|
138
174
|
}
|
|
139
175
|
throw new Error("达到最大重试次数,请求失败");
|
|
@@ -143,14 +179,25 @@ function isValidQQ(qq) {
|
|
|
143
179
|
return /^\d{5,13}$/.test(qq);
|
|
144
180
|
}
|
|
145
181
|
__name(isValidQQ, "isValidQQ");
|
|
182
|
+
function formatReplyMessage(session, message, config) {
|
|
183
|
+
let prefix = "";
|
|
184
|
+
if (config.reply.replyMode === "mention" /* MENTION */) {
|
|
185
|
+
prefix = import_koishi.h.at(session.userId).toString() + "\n";
|
|
186
|
+
}
|
|
187
|
+
if (config.reply.replyMode === "quote" /* QUOTE */) {
|
|
188
|
+
prefix = import_koishi.h.quote(session.messageId).toString();
|
|
189
|
+
}
|
|
190
|
+
return prefix + message;
|
|
191
|
+
}
|
|
192
|
+
__name(formatReplyMessage, "formatReplyMessage");
|
|
146
193
|
function apply(ctx, config) {
|
|
147
194
|
const logger = ctx.logger(name);
|
|
148
|
-
ctx.command("查封号 <qq号>", "查询QQ号封号状态").action(async (
|
|
195
|
+
ctx.command("查封号 <qq号>", "查询QQ号封号状态").action(async ({ session }, qq) => {
|
|
149
196
|
if (!isValidQQ(qq)) {
|
|
150
197
|
const errMsg = `QQ号格式错误:${qq}(需5-13位数字)`;
|
|
151
|
-
addLogAndClean(logger, errMsg, config.maxLogCount);
|
|
198
|
+
addLogAndClean(logger, errMsg, config.log.maxLogCount);
|
|
152
199
|
logger.warn(errMsg);
|
|
153
|
-
return `❌ ${errMsg}
|
|
200
|
+
return formatReplyMessage(session, `❌ ${errMsg}`, config);
|
|
154
201
|
}
|
|
155
202
|
try {
|
|
156
203
|
const result = await requestWithRetry(ctx, config, qq, logger);
|
|
@@ -159,27 +206,27 @@ function apply(ctx, config) {
|
|
|
159
206
|
case 200:
|
|
160
207
|
const banInfo = result.data?.banmsg || "无详细封禁信息";
|
|
161
208
|
const successResLog = `[查询结果] QQ${qq}:${msg} → ${banInfo}`;
|
|
162
|
-
addLogAndClean(logger, successResLog, config.maxLogCount);
|
|
209
|
+
addLogAndClean(logger, successResLog, config.log.maxLogCount);
|
|
163
210
|
logger.success(successResLog);
|
|
164
|
-
return `✅ 查询成功:${msg}
|
|
165
|
-
📝 详细信息:${banInfo}
|
|
211
|
+
return formatReplyMessage(session, `✅ 查询成功:${msg}
|
|
212
|
+
📝 详细信息:${banInfo}`, config);
|
|
166
213
|
case 400:
|
|
167
214
|
const warnResLog = `[查询结果] QQ${qq} 400错误:${msg}`;
|
|
168
|
-
addLogAndClean(logger, warnResLog, config.maxLogCount);
|
|
215
|
+
addLogAndClean(logger, warnResLog, config.log.maxLogCount);
|
|
169
216
|
logger.warn(warnResLog);
|
|
170
|
-
return `❌ 查询失败 [错误码400]:${msg}
|
|
217
|
+
return formatReplyMessage(session, `❌ 查询失败 [错误码400]:${msg}(参数缺失,请检查配置)`, config);
|
|
171
218
|
default:
|
|
172
219
|
const infoResLog = `[查询结果] QQ${qq} 错误码${result.code}:${msg}`;
|
|
173
|
-
addLogAndClean(logger, infoResLog, config.maxLogCount);
|
|
220
|
+
addLogAndClean(logger, infoResLog, config.log.maxLogCount);
|
|
174
221
|
logger.info(infoResLog);
|
|
175
|
-
return `❌ 查询失败 [错误码${result.code}]:${msg}
|
|
222
|
+
return formatReplyMessage(session, `❌ 查询失败 [错误码${result.code}]:${msg}`, config);
|
|
176
223
|
}
|
|
177
224
|
} catch (error) {
|
|
178
225
|
const errMsg = error.message || "未知错误";
|
|
179
226
|
const errorLog = `[接口调用出错] QQ${qq}:${errMsg}`;
|
|
180
|
-
addLogAndClean(logger, errorLog, config.maxLogCount);
|
|
227
|
+
addLogAndClean(logger, errorLog, config.log.maxLogCount);
|
|
181
228
|
logger.error(errorLog);
|
|
182
|
-
return `⚠️ 接口调用出错:${errMsg}
|
|
229
|
+
return formatReplyMessage(session, `⚠️ 接口调用出错:${errMsg}`, config);
|
|
183
230
|
}
|
|
184
231
|
});
|
|
185
232
|
}
|
|
@@ -187,6 +234,7 @@ __name(apply, "apply");
|
|
|
187
234
|
// Annotate the CommonJS export names for ESM import in node:
|
|
188
235
|
0 && (module.exports = {
|
|
189
236
|
Config,
|
|
237
|
+
ReplyMode,
|
|
190
238
|
apply,
|
|
191
239
|
name,
|
|
192
240
|
usage
|