UNPKG

koishi-plugin-kbot

Version:
48 lines (47 loc) 1.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.dynamicStrategy = void 0; const utils_1 = require("../utils"); const common_1 = require("./common"); const composition_1 = require("./composition"); const _1 = require("."); const dynamicStrategies = { add: common_1.bilibiliAdd, remove: common_1.bilibiliRemove, list: common_1.bilibiliList, search: common_1.bilibiliSearch, vup: composition_1.bilibiliVupCheck, danmu: composition_1.bilibiliDanmuCheck, refresh: composition_1.bilibiliRefreshVup, cookie: composition_1.bilibiliCookie, batch: common_1.bilibiliBatch, }; async function dynamicStrategy({ session, options, }, list, ctx, config) { const strategyName = Object.keys(options).find(key => options[key]); if (Object.keys(dynamicStrategies).includes(strategyName)) { try { let value; let uid; if (!['list', 'cookie', 'refresh', 'batch'].includes(strategyName)) { value = options[strategyName]; uid = await (0, utils_1.uidExtract)(value, { session }, _1.logger, ctx); if (!uid) return '未找到该 up, 请输入正确的 up 名 , up uid 或 up 首页链接'; } else if (strategyName === 'batch') { value = session.content.split(' ').slice(2); uid = await Promise.all(value .join(' ') .replace(/,/ig, ',') .split(',') .map(async (v) => await (0, utils_1.uidExtract)(v.trim(), { session }, _1.logger, ctx))); uid = [...new Set(uid)]; } return dynamicStrategies[strategyName]?.({ session, options }, { uid, upName: value }, list, ctx, config); } catch (err) { return err.message; } } } exports.dynamicStrategy = dynamicStrategy;