koishi-plugin-kbot
Version:
A muti-function qq bot for koishi
45 lines (44 loc) • 2.54 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.initGuildAdd = void 0;
const jsx_runtime_1 = require("@satorijs/element/jsx-runtime");
const koishi_1 = require("koishi");
const utils_1 = require("../utils");
async function initGuildAdd(context) {
context.database.extend('guildmanage.addValid', {
id: 'unsigned',
guildId: 'string',
validObject: {
type: 'json',
initial: {},
},
timer: {
type: 'integer',
initial: 60,
},
}, {
autoInc: true,
});
context.guild().on('guild-added', async (session) => {
const { userId, guildId } = session;
const botRole = await (0, utils_1.getGroupMemberRole)(session.bot, guildId, session.selfId);
const validRes = await context.database.get('guildmanage.addValid', { guildId });
if (botRole === 'member')
return;
if (!validRes.length || !Object.keys(validRes[0].validObject).length)
return;
const { validObject, timer } = validRes[0];
const randomQuestion = Object.keys(validObject)[Math.floor(Math.random() * Object.keys(validObject).length)];
await session.send((0, jsx_runtime_1.jsxs)("message", { children: [(0, jsx_runtime_1.jsx)("at", { id: userId }), (0, jsx_runtime_1.jsx)("p", { children: "\u6B22\u8FCE\u52A0\u5165\u672C\u7FA4" }), (0, jsx_runtime_1.jsxs)("p", { children: ["\u8BF7\u5728 ", timer || 60, " \u79D2\u5185\u56DE\u7B54\u4E0B\u9762\u7684\u95EE\u9898"] }), (0, jsx_runtime_1.jsx)("p", { children: randomQuestion }), (0, jsx_runtime_1.jsx)("p", { children: "\u5982\u679C\u56DE\u7B54\u9519\u8BEF, \u5C06\u4F1A\u88AB\u79FB\u51FA\u672C\u7FA4" })] }));
const input = await session.prompt((timer || 60) * 1000);
if (input !== validObject[randomQuestion]) {
await session.send((0, jsx_runtime_1.jsxs)("message", { children: [(0, jsx_runtime_1.jsx)("at", { id: userId }), (0, jsx_runtime_1.jsx)("p", { children: "\u56DE\u7B54\u9519\u8BEF, 3 \u79D2\u540E\u5C06\u8E22\u51FA\u672C\u7FA4" })] }));
await (0, koishi_1.sleep)(3000);
await session.bot.kickGuildMember(guildId, userId);
}
else {
await session.send((0, jsx_runtime_1.jsxs)("message", { children: [(0, jsx_runtime_1.jsx)("at", { id: userId }), (0, jsx_runtime_1.jsx)("p", { children: "\u56DE\u7B54\u6B63\u786E, \u6B22\u8FCE\u52A0\u5165\u672C\u7FA4" })] }));
}
});
}
exports.initGuildAdd = initGuildAdd;