UNPKG

koishi-plugin-yesimbot-extension-sticker-manager

Version:
107 lines (106 loc) 5.18 kB
var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); var __decorateClass = (decorators, target, key, kind) => { var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target; for (var i = decorators.length - 1, decorator; i >= 0; i--) if (decorator = decorators[i]) result = (kind ? decorator(target, key, result) : decorator(result)) || result; if (kind && result) __defProp(target, key, result); return result; }; var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); var tool_exports = {}; __export(tool_exports, { StickerTools: () => StickerTools }); module.exports = __toCommonJS(tool_exports); var import_koishi = require("koishi"); var import_services = require("koishi-plugin-yesimbot/services"); var import_services2 = require("koishi-plugin-yesimbot/services"); let StickerTools = class { constructor(ctx, config) { this.ctx = ctx; this.config = config; this.stickerService = ctx.get("sticker-service"); } stickerService; async stealSticker({ image_id, session }) { try { const imageService = this.ctx[import_services2.Services.Image]; const imageData = await imageService.getImageDataWithContent(image_id); if (!imageData) return (0, import_services.Failed)("\u56FE\u7247\u672A\u627E\u5230"); const record = await this.stickerService.stealSticker(imageData.data, session); return (0, import_services.Success)({ id: record.id, category: record.category, message: `\u5DF2\u5077\u53D6\u8868\u60C5\u5305\u5230\u5206\u7C7B: ${record.category}` }); } catch (error) { return (0, import_services.Failed)(`\u5077\u53D6\u5931\u8D25: ${error.message}`); } } async sendRandomSticker({ category }) { try { const sticker = await this.stickerService.getRandomSticker(category); if (!sticker) return (0, import_services.Failed)(`\u5206\u7C7B "${category}" \u4E2D\u6CA1\u6709\u8868\u60C5\u5305`); return (0, import_services.Success)({ element: sticker, message: `\u5DF2\u53D1\u9001 ${category} \u5206\u7C7B\u7684\u8868\u60C5\u5305` }); } catch (error) { return (0, import_services.Failed)(`\u53D1\u9001\u5931\u8D25: ${error.message}`); } } }; __publicField(StickerTools, "Config", import_koishi.Schema.object({ storagePath: import_koishi.Schema.path({ allowCreate: true, filters: ["directory"] }).default("./data/yesimbot/sticker").description("\u8868\u60C5\u5305\u5B58\u50A8\u8DEF\u5F84"), classificationPrompt: import_koishi.Schema.string().default("\u8BF7\u5C06\u4EE5\u4E0B\u56FE\u7247\u5206\u7C7B\uFF0C\u5DF2\u6709\u5206\u7C7B: [{{categories}}]\u3002\u9009\u62E9\u6700\u5339\u914D\u7684\u5206\u7C7B\u6216\u521B\u5EFA\u65B0\u5206\u7C7B\u3002\u53EA\u8FD4\u56DE\u5206\u7C7B\u540D\u79F0\u3002").description("\u591A\u6A21\u6001\u5206\u7C7B\u63D0\u793A\u8BCD\u6A21\u677F") })); __decorateClass([ (0, import_services.Tool)({ name: "steal_sticker", description: "\u5077\u53D6\u4E00\u4E2A\u8868\u60C5\u5305\u3002\u5F53\u7528\u6237\u53D1\u9001\u8868\u60C5\u5305\u65F6\uFF0C\u8C03\u7528\u6B64\u5DE5\u5177\u5C06\u8868\u60C5\u5305\u4FDD\u5B58\u5230\u672C\u5730\u5E76\u5206\u7C7B\u3002", parameters: import_koishi.Schema.object({ image_id: import_koishi.Schema.string().required().description("\u8981\u5077\u53D6\u7684\u8868\u60C5\u56FE\u7247ID") }) }) ], StickerTools.prototype, "stealSticker", 1); __decorateClass([ (0, import_services.Tool)({ name: "send_random_sticker", description: "\u53D1\u9001\u4E00\u4E2A\u968F\u673A\u8868\u60C5\u5305\u3002", parameters: import_koishi.Schema.object({ category: import_koishi.Schema.string().required().description("\u8868\u60C5\u5305\u5206\u7C7B\u540D\u79F0") }) }) ], StickerTools.prototype, "sendRandomSticker", 1); StickerTools = __decorateClass([ (0, import_services.Extension)({ name: "sticker-manager", display: "\u8868\u60C5\u5305\u7BA1\u7406", description: "\u7528\u4E8E\u5077\u53D6\u548C\u53D1\u9001\u8868\u60C5\u5305", author: "HydroGest", version: "1.0.0" }) ], StickerTools); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { StickerTools }); //# sourceMappingURL=tool.js.map