koishi-plugin-cocoyyy-console 1.0.8-beta.1 → 1.0.8-beta.2
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.js +21 -5
- package/lib/utils/common.d.ts +2 -1
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -262,7 +262,7 @@ function getImgsModel() {
|
|
|
262
262
|
__name(getImgsModel, "getImgsModel");
|
|
263
263
|
|
|
264
264
|
// src/utils/common.ts
|
|
265
|
-
var dev_mode =
|
|
265
|
+
var dev_mode = false;
|
|
266
266
|
function is_at_bot(session) {
|
|
267
267
|
const elements = Array.isArray(session?.elements) ? session.elements : [];
|
|
268
268
|
const atElement = elements.find((element) => element?.type === "at");
|
|
@@ -272,6 +272,20 @@ function is_at_bot(session) {
|
|
|
272
272
|
return String(atId) === String(selfId);
|
|
273
273
|
}
|
|
274
274
|
__name(is_at_bot, "is_at_bot");
|
|
275
|
+
function decodeHtmlEntities(text) {
|
|
276
|
+
const entities = {
|
|
277
|
+
"&": "&",
|
|
278
|
+
"<": "<",
|
|
279
|
+
">": ">",
|
|
280
|
+
""": '"',
|
|
281
|
+
"'": "'",
|
|
282
|
+
"'": "'"
|
|
283
|
+
};
|
|
284
|
+
return text.replace(/&[#\w]+;/g, (entity) => {
|
|
285
|
+
return entities[entity] || entity;
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
__name(decodeHtmlEntities, "decodeHtmlEntities");
|
|
275
289
|
|
|
276
290
|
// src/services/menu_service.ts
|
|
277
291
|
var menuList = [
|
|
@@ -424,7 +438,8 @@ async function saveImg(ctx, tag_name, guild_id, imgurl, savePath2) {
|
|
|
424
438
|
const now = new Date(Date.now() + 8 * 60 * 60 * 1e3);
|
|
425
439
|
const srcMatch = imgurl.match(/src="([^"]+)"/);
|
|
426
440
|
if (!srcMatch) throw new Error("invalid img tag, no src found!");
|
|
427
|
-
|
|
441
|
+
let srcUrl = srcMatch[1];
|
|
442
|
+
srcUrl = decodeHtmlEntities(srcUrl);
|
|
428
443
|
const imageBuffer = await loadImageFromUrl(ctx, srcUrl);
|
|
429
444
|
if (!imageBuffer || imageBuffer.byteLength === 0) {
|
|
430
445
|
throw new Error("Downloaded image data is empty.");
|
|
@@ -882,13 +897,14 @@ function registerTestCommands(ctx) {
|
|
|
882
897
|
if (!guildId) return "请提供群号";
|
|
883
898
|
const bot = ctx.bots[session.uid] || Object.values(ctx.bots)[0];
|
|
884
899
|
if (!bot) return "未找到可用的机器人实例";
|
|
900
|
+
if (bot.platform !== "onebot") return "当前平台不支持该操作";
|
|
885
901
|
try {
|
|
886
|
-
|
|
887
|
-
const members =
|
|
902
|
+
const memberList = await bot.getGuildMemberList(guildId);
|
|
903
|
+
const members = memberList.data;
|
|
888
904
|
if (!members?.length) {
|
|
889
905
|
return `群 ${guildId} 未获取到成员,请检查权限或机器人是否在群中。`;
|
|
890
906
|
}
|
|
891
|
-
const ids = members.map((m) => m.
|
|
907
|
+
const ids = members.map((m) => m.user?.id).filter(Boolean).join("\n");
|
|
892
908
|
console.log(`[群 ${guildId}] 成员数量: ${members.length}`);
|
|
893
909
|
return `群 ${guildId} 共 ${members.length} 位成员:
|
|
894
910
|
${ids}`;
|
package/lib/utils/common.d.ts
CHANGED