UNPKG

koishi-plugin-kbot

Version:
45 lines (44 loc) 2.54 kB
"use strict"; 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;