koishi-plugin-node-async-bot-all 1.4.2 → 1.5.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/lib/fun.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare function getSystemUsage(): Promise<string>;
1
+ export declare function getSystemUsage(): Promise<object>;
2
2
  export declare function getHongKongTime(): string;
3
3
  export declare function fetchWithTimeout(url: string, options?: {}, timeout?: number): Promise<Response>;
4
4
  export declare function readInfoFile(): Promise<string>;
package/lib/index.js CHANGED
@@ -5,6 +5,9 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __getProtoOf = Object.getPrototypeOf;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
7
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
8
+ var __commonJS = (cb, mod) => function __require() {
9
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
10
+ };
8
11
  var __export = (target, all) => {
9
12
  for (var name2 in all)
10
13
  __defProp(target, name2, { get: all[name2], enumerable: true });
@@ -27,6 +30,13 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
27
30
  ));
28
31
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
32
 
33
+ // src/locales/zh-CN.yml
34
+ var require_zh_CN = __commonJS({
35
+ "src/locales/zh-CN.yml"(exports2, module2) {
36
+ module2.exports = { commands: { cx: { description: "查询服务器当前人数。", messages: { msg: "{time}\n【服务器当前人数】\n➣ {version}:{players}\n进服指南请在群公告中查看。", forbidden: "{time}\n此指令不允许在本群使用。", failed: "{time}\n查询失败:{data}\n请稍后重试。", timeout: "请求超时。", close: "服务器已关闭。", error: "执行错误。", unknown: "未知错误。" } }, status: { description: "查询机器人状态。", messages: { msg: "{time}\n系统名称:{name}\nCPU使用率:{cpu}\n内存使用率:{memory}", failed: "{time}\n状态获取失败。" } }, random: { description: "随机数生成器。", usage: "缺少参数时默认生成 0-10000 的随机数。\n使用示例:", examples: "random 1 128 生成1到128范围的随机数", messages: { msg: "{time}\n生成的随机数:{data}" } }, info: { description: "查询机器人信息。", messages: { msg: "{data}", failed: "{time}\n读取信息失败。" } }, rw: { description: "随机名言名句。", messages: { msg: "{time}\n{data}", failed1: "{time}\n获取失败(1)。", failed2: "{time}\n获取失败(2)。" } } } };
37
+ }
38
+ });
39
+
30
40
  // src/index.ts
31
41
  var src_exports = {};
32
42
  __export(src_exports, {
@@ -39,10 +49,7 @@ module.exports = __toCommonJS(src_exports);
39
49
  var import_os = __toESM(require("os"));
40
50
 
41
51
  // package.json
42
- var version = "1.4.2";
43
-
44
- // res/i18n.yaml
45
- var i18n_default = { rw: { failed1: "获取失败(1)。", failed2: "获取失败(2)。" }, cx: { forbidden: "此指令不允许在本群使用。", notice: "进服指南请在群公告中查看。", players: "服务器当前人数", failed: "查询失败:", timeout: "请求超时。", later: "请稍后重试。", unknown: "未知错误。" }, status: { failed: "状态获取失败。", name: "系统名称:", cpu: "CPU使用率:", memory: "内存使用率:" }, random: { sc: "生成的随机数:" }, info: { failed: "读取信息失败。" } };
52
+ var version = "1.5.0";
46
53
 
47
54
  // src/fun.ts
48
55
  function getSystemName() {
@@ -71,11 +78,17 @@ __name(getCpuUsage, "getCpuUsage");
71
78
  async function getSystemUsage() {
72
79
  let info;
73
80
  try {
74
- info = `${i18n_default.status.name}${getSystemName()}
75
- ${i18n_default.status.cpu}${await getCpuUsage()}%
76
- ${i18n_default.status.memory}${getMemoryUsage()}%`;
81
+ info = {
82
+ "name": getSystemName(),
83
+ "cpu": await getCpuUsage() + "%",
84
+ "memory": getMemoryUsage() + "%",
85
+ "success": 0
86
+ };
77
87
  } catch (error) {
78
- info = error.message;
88
+ info = {
89
+ "data": error.message,
90
+ "success": 1
91
+ };
79
92
  }
80
93
  return info;
81
94
  }
@@ -136,107 +149,147 @@ __name(readInfoFile, "readInfoFile");
136
149
  // src/index.ts
137
150
  var name = "node-async-bot-all";
138
151
  async function getServer(ctx, session) {
139
- ctx.logger.info(`Got: {"command":"${session.text(".message")}","form":"${session.event.guild.id}","user":"${session.event.user.id}","timestamp":${session.event.timestamp},"messageId":"${session.event.message.id}"`);
152
+ ctx.logger.info(`Got: {"command":"${session.text(".message")}","form":"${session.event.guild.id}","user":"${session.event.user.id}","timestamp":${session.event.timestamp},"messageId":"${session.event.message.id}"}`);
140
153
  let msg;
141
154
  let dataError;
142
155
  let data;
143
156
  let error;
144
157
  const time = getHongKongTime();
145
- if (session.event.guild.id == "757729218" || session.event.guild.id == "1047732162") {
158
+ if (session.event.guild.id == "757729218" || session.event.guild.id == "#") {
146
159
  try {
147
160
  const response = await fetchWithTimeout("https://api.tasaed.top/get/minecraftServer/", {}, 8e3);
148
161
  if (response.ok) {
149
162
  data = await response.text();
150
163
  ctx.logger.info("Server data: " + data);
151
164
  data = JSON.parse(data);
152
- msg = `${time}
153
- 【${i18n_default.cx.players}】
154
- ➣ ${data["version"]}:${data["players"]}
155
- ${i18n_default.cx.notice}`;
156
- ctx.logger.info("Sent: " + msg);
165
+ msg = {
166
+ "time": time,
167
+ "players": data["players"],
168
+ "version": data["version"],
169
+ "success": 0
170
+ };
171
+ ctx.logger.info("Sent:");
172
+ ctx.logger.info(msg);
157
173
  } else {
158
174
  dataError = await response.text();
159
175
  try {
160
176
  const vError = JSON.parse(dataError);
161
177
  error = vError["data"];
178
+ if (error.includes("Connection refused")) {
179
+ error = session.text(".close");
180
+ }
162
181
  } catch (e) {
163
182
  if (dataError.includes("CDN节点请求源服务器超时")) {
164
- error = i18n_default.cx.timeout;
183
+ error = session.text(".timeout");
165
184
  } else {
166
- error = i18n_default.cx.unknown;
185
+ error = session.text(".unknown");
167
186
  }
168
187
  }
169
188
  ctx.logger.error(`Error fetching data: ${dataError}`);
170
- msg = `${time}
171
- ${i18n_default.cx.failed}${error}
172
- ${i18n_default.cx.later}`;
173
- ctx.logger.info("Sent: " + msg);
189
+ msg = {
190
+ "time": time,
191
+ "data": error,
192
+ "success": 1
193
+ };
194
+ ctx.logger.info("Sent:");
195
+ ctx.logger.info(msg);
174
196
  }
175
197
  } catch (err) {
176
198
  ctx.logger.error(`Request error: ${err.message}`);
177
- msg = `${time}
178
- ${i18n_default.cx.failed}${i18n_default.cx.timeout}
179
- ${i18n_default.cx.later}`;
180
- ctx.logger.info("Sent: " + msg);
199
+ msg = {
200
+ "time": time,
201
+ "data": session.text(".error"),
202
+ "success": 1
203
+ };
204
+ ctx.logger.info("Sent:");
205
+ ctx.logger.info(msg);
181
206
  }
182
207
  } else {
183
- msg = `${time}
184
- ${i18n_default.cx.forbidden}`;
185
- ctx.logger.info("Sent: " + msg);
208
+ msg = {
209
+ "time": time,
210
+ "success": 2
211
+ };
212
+ ctx.logger.info("Sent:");
213
+ ctx.logger.info(msg);
186
214
  }
187
215
  return msg;
188
216
  }
189
217
  __name(getServer, "getServer");
190
218
  async function getStatus(ctx, session) {
191
- ctx.logger.info(`Got: {"command":"${session.text(".message")}","form":"${session.event.guild.id}","user":"${session.event.user.id}","timestamp":${session.event.timestamp},"messageId":"${session.event.message.id}"`);
219
+ ctx.logger.info(`Got: {"command":"${session.text(".message")}","form":"${session.event.guild.id}","user":"${session.event.user.id}","timestamp":${session.event.timestamp},"messageId":"${session.event.message.id}"}`);
192
220
  const time = getHongKongTime();
193
221
  let msg;
194
222
  const vMsg = await getSystemUsage();
195
- if (!vMsg.includes("系统名称")) {
223
+ if (vMsg["success"] == 1) {
196
224
  ctx.logger.error(vMsg);
197
- msg = `${time}
198
- ${i18n_default.status.failed}`;
225
+ msg = {
226
+ "time": time,
227
+ "data": vMsg["data"],
228
+ "success": 1
229
+ };
199
230
  } else {
200
- msg = `${time}
201
- ` + vMsg;
231
+ msg = {
232
+ "time": time,
233
+ "name": vMsg["name"],
234
+ "cpu": vMsg["cpu"],
235
+ "memory": vMsg["memory"],
236
+ "success": 0
237
+ };
202
238
  }
203
- ctx.logger.info("Sent: " + msg);
239
+ ctx.logger.info("Sent:");
240
+ ctx.logger.info(msg);
204
241
  return msg;
205
242
  }
206
243
  __name(getStatus, "getStatus");
207
244
  async function getRandom(ctx, session, min, max) {
208
- ctx.logger.info(`Got: {"command":"${session.text(".message")}","form":"${session.event.guild.id}","user":"${session.event.user.id}","timestamp":${session.event.timestamp},"messageId":"${session.event.message.id}"`);
245
+ ctx.logger.info(`Got: {"command":"${session.text(".message")}","form":"${session.event.guild.id}","user":"${session.event.user.id}","timestamp":${session.event.timestamp},"messageId":"${session.event.message.id}"}`);
209
246
  const time = getHongKongTime();
210
247
  let msg;
248
+ let data;
211
249
  if (min == void 0 || max == void 0) {
212
250
  min = 0;
213
251
  max = 1e4;
214
252
  }
215
253
  min = Math.ceil(min);
216
254
  max = Math.floor(max);
217
- msg = `${time}
218
- ${i18n_default.random.sc}` + (Math.floor(Math.random() * (max - min + 1)) + min) + `(${min},${max})`;
219
- ctx.logger.info("Sent: " + msg);
255
+ data = Math.floor(Math.random() * (max - min + 1)) + min + `(${min},${max})`;
256
+ msg = {
257
+ "time": time,
258
+ "data": data,
259
+ "success": 0
260
+ };
261
+ ctx.logger.info("Sent:");
262
+ ctx.logger.info(msg);
220
263
  return msg;
221
264
  }
222
265
  __name(getRandom, "getRandom");
223
266
  async function getInfo(ctx, session) {
224
- ctx.logger.info(`Got: {"command":"${session.text(".message")}","form":"${session.event.guild.id}","user":"${session.event.user.id}","timestamp":${session.event.timestamp},"messageId":"${session.event.message.id}"`);
267
+ ctx.logger.info(`Got: {"command":"${session.text(".message")}","form":"${session.event.guild.id}","user":"${session.event.user.id}","timestamp":${session.event.timestamp},"messageId":"${session.event.message.id}"}`);
225
268
  const time = getHongKongTime();
226
- let msg = await readInfoFile();
227
- if (!msg.includes("基沃托斯·工业革命")) {
228
- ctx.logger.error("Error: " + msg);
229
- msg = `${time}
230
- ${i18n_default.info.failed}`;
269
+ let msg;
270
+ let data = await readInfoFile();
271
+ if (!data.includes("基沃托斯·工业革命")) {
272
+ ctx.logger.error("Error: " + data);
273
+ msg = {
274
+ "time": time,
275
+ "data": data,
276
+ "success": 1
277
+ };
231
278
  } else {
232
- msg = msg.replace("&time;", time);
279
+ data = data.replace("&time;", time);
280
+ msg = {
281
+ "time": time,
282
+ "data": data,
283
+ "success": 0
284
+ };
233
285
  }
234
- ctx.logger.info("Sent: " + msg);
286
+ ctx.logger.info("Sent:");
287
+ ctx.logger.info(msg);
235
288
  return msg;
236
289
  }
237
290
  __name(getInfo, "getInfo");
238
291
  async function getRW(ctx, session) {
239
- ctx.logger.info(`Got: {"command":"${session.text(".message")}","form":"${session.event.guild.id}","user":"${session.event.user.id}","timestamp":${session.event.timestamp},"messageId":"${session.event.message.id}"`);
292
+ ctx.logger.info(`Got: {"command":"${session.text(".message")}","form":"${session.event.guild.id}","user":"${session.event.user.id}","timestamp":${session.event.timestamp},"messageId":"${session.event.message.id}"}`);
240
293
  let msg;
241
294
  let data;
242
295
  const time = getHongKongTime();
@@ -245,40 +298,76 @@ async function getRW(ctx, session) {
245
298
  if (response.ok) {
246
299
  data = await response.text();
247
300
  ctx.logger.info("Server data: " + data);
248
- msg = `${time}
249
- ${data}`;
250
- ctx.logger.info("Sent: " + msg);
301
+ msg = {
302
+ "time": time,
303
+ "data": data,
304
+ "success": 0
305
+ };
306
+ ctx.logger.info("Sent:");
307
+ ctx.logger.info(msg);
251
308
  } else {
252
309
  data = await response.text();
253
310
  ctx.logger.error(`Error fetching data: ${data}`);
254
- msg = `${time}
255
- ${i18n_default.rw.failed1}`;
256
- ctx.logger.info("Sent: " + msg);
311
+ msg = {
312
+ "time": time,
313
+ "success": 1
314
+ };
315
+ ctx.logger.info("Sent:");
316
+ ctx.logger.info(msg);
257
317
  }
258
318
  } catch (err) {
259
319
  ctx.logger.error(`Request error: ${err.message}`);
260
- msg = `${time}
261
- ${i18n_default.rw.failed2}`;
262
- ctx.logger.info("Sent: " + msg);
320
+ msg = {
321
+ "time": time,
322
+ "success": 2
323
+ };
324
+ ctx.logger.info("Sent:");
325
+ ctx.logger.info(msg);
263
326
  }
264
327
  return msg;
265
328
  }
266
329
  __name(getRW, "getRW");
267
330
  function apply(ctx) {
268
- ctx.command("cx", "查询服务器当前人数。").action(({ session }) => {
269
- return getServer(ctx, session);
331
+ ctx.i18n.define("zh-CN", require_zh_CN());
332
+ ctx.command("cx").action(async ({ session }) => {
333
+ const cx = await getServer(ctx, session);
334
+ if (cx["success"] == 0) {
335
+ return session.text(".msg", cx);
336
+ } else if (cx["success"] == 1) {
337
+ return session.text(".failed", cx);
338
+ } else {
339
+ return session.text(".forbidden", cx);
340
+ }
270
341
  });
271
- ctx.command("status", "查询机器人状态。").action(({ session }) => {
272
- return getStatus(ctx, session);
342
+ ctx.command("status").action(async ({ session }) => {
343
+ const status = await getStatus(ctx, session);
344
+ if (status["success"] == 0) {
345
+ return session.text(".msg", status);
346
+ } else {
347
+ return session.text(".failed", status);
348
+ }
273
349
  });
274
- ctx.command("random [最小数:number] [最大数:number]", "随机数生成器。").usage("缺少参数时默认生成 0-10000 的随机数。").example("random 1 128 生成1到128范围的随机数").action(({ session }, min, max) => {
275
- return getRandom(ctx, session, min, max);
350
+ ctx.command("random [最小数:number] [最大数:number]").action(async ({ session }, min, max) => {
351
+ const random = await getRandom(ctx, session, min, max);
352
+ return session.text(".msg", random);
276
353
  });
277
- ctx.command("info", "机器人信息").action(({ session }) => {
278
- return getInfo(ctx, session);
354
+ ctx.command("info").action(async ({ session }) => {
355
+ const info = await getInfo(ctx, session);
356
+ if (info["success"] == 0) {
357
+ return session.text(".msg", info);
358
+ } else {
359
+ return session.text(".failed", info);
360
+ }
279
361
  });
280
- ctx.command("rw", "随机名言名句").action(({ session }) => {
281
- return getRW(ctx, session);
362
+ ctx.command("rw").action(async ({ session }) => {
363
+ const rw = await getRW(ctx, session);
364
+ if (rw["success"] == 0) {
365
+ return session.text(".msg", rw);
366
+ } else if (rw["success"] == 1) {
367
+ return session.text(".failed1", rw);
368
+ } else {
369
+ return session.text(".failed2", rw);
370
+ }
282
371
  });
283
372
  }
284
373
  __name(apply, "apply");
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "koishi-plugin-node-async-bot-all",
3
3
  "description": "NodeAsync Bot插件(自用)",
4
- "version": "1.4.2",
4
+ "version": "1.5.0",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "files": [
package/res/i18n.yaml DELETED
@@ -1,20 +0,0 @@
1
- rw:
2
- failed1: 获取失败(1)。
3
- failed2: 获取失败(2)。
4
- cx:
5
- forbidden: 此指令不允许在本群使用。
6
- notice: 进服指南请在群公告中查看。
7
- players: 服务器当前人数
8
- failed: 查询失败:
9
- timeout: 请求超时。
10
- later: 请稍后重试。
11
- unknown: 未知错误。
12
- status:
13
- failed: 状态获取失败。
14
- name: 系统名称:
15
- cpu: CPU使用率:
16
- memory: 内存使用率:
17
- random:
18
- sc: 生成的随机数:
19
- info:
20
- failed: 读取信息失败。