UNPKG

koishi-plugin-booru-moehu

Version:
275 lines (270 loc) 8.23 kB
var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); var __commonJS = (cb, mod) => function __require() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; 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); // packages/moehu/src/locales/zh-CN.schema.yml var require_zh_CN_schema = __commonJS({ "packages/moehu/src/locales/zh-CN.schema.yml"(exports, module2) { module2.exports = { $description: "搜索设置", endpoint: "Moehu 的 URL。" }; } }); // packages/moehu/src/index.ts var src_exports = {}; __export(src_exports, { default: () => src_default }); module.exports = __toCommonJS(src_exports); var import_fastest_levenshtein = require("fastest-levenshtein"); var import_koishi = require("koishi"); var import_koishi_plugin_booru = require("koishi-plugin-booru"); // packages/moehu/src/data/ids.json var ids_default = { 图片一: "img1", 图片二: "img2", 竖屏壁纸: "sjpic", 横屏壁纸: "pc", 黑丝: "acghs", 白丝: "acgbs", 兽耳: "kemonomimi", 白毛: "yin", 星空: "xingk", loli: "loli", 小姐姐: "xjj", 高清风景壁纸: "gqbz", 猫星人: "cat", 小鲨鱼: "gawr-gura", 雪花菈米: "yukihana", 夏色祭: "natsuiro", 润羽露西娅: "uruha-rushia", 花园Serena: "hanazono-serena", 笹木咲: "sasaki-saku", 角卷绵芽: "tsunomaki-watame", 常暗永远: "tokoyami-towa", 天宫心: "amamiya-kokoro", 兔田佩克菈: "usada-pekora", 一伊那尔栖: "ninomae", 大神澪: "ookami-mio", 星川莎拉: "sara-hoshikawa", 樱巫女: "sakura-miko", 木口EN: "holoen", 绊爱: "kizunaai", 神乐七奈: "kagura-nana", 神乐Mea: "kagura-mea", 白上吹雪: "fubuki", 戌神沁音: "inugami-korone", 阿夸: "akqa", 猫宫日向: "nekomiya-hinata", 猫羽雫: "myn", 樱岛麻衣: "ydmy", 初音未来: "miku", 洛天依: "tianyi", 五更琉璃: "gokou-ruri", 椎名真白: "mashiro", 鹿乃: "kano", Saber: "saber", 四系乃: "yoshino", 见崎鸣: "misakimei", 阿卡林: "akari", 康娜: "kanna", 喵帕斯: "miaops", 妮姆芙: "nymph", 诺艾尔: "noel", 时崎狂三: "kurumi", 薇尔莉特: "violet", 忍野忍: "shinobu", 风见一姬: "kazuki", 伊莉雅: "iliya", 碧翠丝: "beatrice", 土间埋: "umr", 雷姆: "rem", 阿波连: "aharen", 国家队02: "02", 阿尼亚: "aniya", 高木: "takagi", 御坂美琴: "misaka-mikoto", 约尔: "yor", 水原千鹤: "mizuhara", 矢泽妮可: "nico", 唐可可: "tangkk", 千反田爱瑠: "eru", 亚丝娜: "asuna", 香风智乃: "chiro", 凯露: "karyl", 灰原哀: "haibara", 雏鹤爱: "hinatsuru", 志摩凛: "shimarin", 小鸟游六花: "rikka", 加藤惠: "katoumegumi", 雪之下雪乃: "yukino", 谢丝塔: "siesta", 早坂爱: "hayasakaai", 四宫辉夜: "kaguya", 凉宫春日: "haruhi", 藤原千花: "chika", 祢豆子: "nezuko", 小野寺小咲: "onoderaoosaki", 中野三玖: "nakanomiku", 伊蕾娜: "elaina", 佐天泪子: "ruiko", 白井黑子: "kuroko", 泉此方: "konata", 白银圭: "shiroganekei", 伊井野弥子: "linomiko", 立华奏: "kanade", 喜多川海梦: "kitagawa-marin", "熊污女[雨宿町]": "amayadori-machi", 牧濑红莉栖: "makise-kurisu", 艾拉: "lsla", 蝶祈: "yuzuriha-inori", 伊卡洛斯: "uranus-queen", 八寻宁宁: "yashiro-nene", 菲洛: "filo", 食蜂操祈: "shokuho-isaki", 我妻由乃: "gasai-yuno", 长瀞同学: "nagatoro-hayase", 蜘蛛子: "noname-kumo", 和泉纱雾: "shawu", 栗山未来: "kuriyama-mirai", 奈亚子: "nyaruko", 沙优: "ogiwara-sayu", 维包子: "blois", 摘希: "miniwa-tsumiki", 原神: "ysbqb", 明日方舟: "mrfz", 碧蓝航线: "blhx", 车万: "dongf", 碧蓝档案: "blda", 缘之空: "yzk", 少女前线: "snqx", 崩坏三: "bh3", 赛马娘: "saima", RE0: "re0", SAO: "sao", 妖精的尾巴: "yaowei", 鬼灭之刃: "gmzr", 五等分的花嫁: "5huajia", 冰菓: "bingg", 你的名字: "kiminame", 公主连接: "gongzhulj", 间谍过家家: "spyfamily", 摇曳露营: "camp", 摇曳百合: "yuruyuri", 天使降临到我身边: "miyone", 我们无法一起学习: "xuebulai", 悠哉日常大王: "nobiyori", 黄金拼图: "kin-iro-mosaic", 转生恶役大小姐: "flag-ojousama", 崛与宫村: "hori-to-miyamura", 路人女主: "saenai-heroine", 喜欢本大爷竟然就你一个: "mydcy", 高原魔女: "slime-300", 幼妻狐仙: "fox-senko", 游戏王: "yu-gi-oh", 莉可丽丝: "lycoris-recoil", "斩.赤红之瞳": "akame-ga-kill", Fgo: "fgo", 轻音: "k-on", Lovelive: "lovelive", "Overlord[骨王]": "overlord", 变态王子与不笑猫: "hentaiandneko", 不正经魔术师: "majutsu-koushi", 空之境界: "kara-no-kyoukai", 小林家的龙女仆: "kobayashi-no-dragon", 龙与虎: "toradora", 关于我转生变成史莱姆这件事: "tensei-slime", 未闻花名: "hana-no-amae", 乌贼娘: "ika-usume", 小老师: "celia-claire", 熊熊勇闯异世界: "kuma-bear", 为美好的世界献上祝福: "sekai-shukufuku", 二次元表情包: "bqb", 甘城猫猫: "gcmm", MC酱: "mc", kemomimi兽耳酱: "kemomimi", 三次元猫猫: "miao", 柴郡猫猫: "cheshire", 猫猫虫咖波: "capoo", "塞西莉亚(黑白)": "ceciliabqb", 塞西莉亚: "cecilia", 龙图: "longtu", 罗翔: "luox", 滑稽: "huaji", 熊猫头: "pand", 同福客栈: "tfkz", 北方酱: "beifang", 柯南: "kenan", 猫和老鼠: "tomandjerry", 小白人: "whitevillain", 小婳: "xiaohua", 商业头盔: "toukui", 牢饭降临到我身边: "laofan", 狗妈: "goum", 索菲: "sofei", 滑稽嘤嘤嘤: "yingyy", 草莓果酱: "caomeiguo" }; // packages/moehu/src/index.ts var availableTags = Object.entries(ids_default).map(([k, v]) => [k, v]).flat(); var MoehuImageSource = class extends import_koishi_plugin_booru.ImageSource { languages = ["en", "zh"]; reusable = true; async get(query) { const params = { id: this.getSimilarTag(query.raw), num: query.count, return: "json" }; const url = (0, import_koishi.trimSlash)(this.config.endpoint) + "?" + Object.entries(params).map(([key, value]) => `${key}=${value}`).join("&"); const data = await this.ctx.http.get(url, { responseType: "json" }); if (!Array.isArray(data.pic)) { return; } return data.pic.map((img) => { return { urls: { original: img }, nsfw: false }; }); } getSimilarTag(tags) { if (!(tags == null ? void 0 : tags.trim())) { const t = Object.values(ids_default); return t[Math.floor(Math.random() * t.length)]; } const c = (0, import_fastest_levenshtein.closest)(tags, availableTags); return c; } }; __name(MoehuImageSource, "MoehuImageSource"); ((MoehuImageSource2) => { MoehuImageSource2.Config = import_koishi.Schema.intersect([ import_koishi_plugin_booru.ImageSource.createSchema({ label: "moehu" }), import_koishi.Schema.object({ endpoint: import_koishi.Schema.string().default("https://img.moehu.org/pic.php") }).i18n({ "zh-CN": require_zh_CN_schema() }) ]); })(MoehuImageSource || (MoehuImageSource = {})); var src_default = MoehuImageSource; // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = {});