koishi-plugin-beatsaber-bot
Version:
一个 用于 BeatSaber 的 koishi Bot 插件
41 lines (40 loc) • 1.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.beatsaver = void 0;
const koishi_1 = require("koishi");
const beatsaver = async (ctx, api, { session, options }, input) => {
// 1. each channel only 1 enable
const beatsaverSubScribe = await ctx.database.get('BSBotSubscribe', {
type: 'beatsaver',
selfId: session.selfId,
platform: session.platform,
channelId: session.channelId,
});
if (beatsaverSubScribe.length > 0) {
const sub = beatsaverSubScribe[0];
if (sub.enable) {
session.sendQuote(session.text('commands.bsbot.subscribe.beatsaver.exist'));
session.sendQueued((0, koishi_1.h)('message', [
(0, koishi_1.h)('quote', { id: session.messageId }),
session.text('commands.bsbot.subscribe.beatsaver.exist')
]));
return;
}
let data = { ...sub, enable: true };
await ctx.database.upsert('BSBotSubscribe', [data]);
session.sendQuote(session.text('commands.bsbot.subscribe.beatsaver.success'));
return;
}
const sub = {
channelId: session.channelId,
selfId: session.selfId,
enable: true,
platform: session.platform,
uid: session.uid,
type: 'beatsaver',
data: {}
};
await ctx.database.upsert('BSBotSubscribe', [sub]);
session.sendQuote(session.text('commands.bsbot.subscribe.beatsaver.success'));
};
exports.beatsaver = beatsaver;