import { encode } from "html-entities"; function execute(client, event, args) { var name = args.toLowerCase(); var command = client.commands.filter(c=>(c.name.toLowerCase()==name || c.command.toLowerCase()==name))[0]; var module = client.modules.filter(m=>m.name.toLowerCase()==name)[0]; var specific = command ?? module ?? false; var config = client.cache.get(event.sender.roomId) ?? {}; if(args != "") { if(!module) { client.reply(event, `Module "${args}" not found.\nRun "${process.env.PREFIX}help" for a list of commands and modules.`); return; } if(config[module.name] !== undefined) config[module.name] = !config[module.name]; else config[module.name] = false; var state = (config[module.name] ? "En" : "Dis") + "abled"; var reply = state + " " + module.name + "\n"; var replyHTML = `${state} ${encode(module.name)}
`; client.cache.set(event.sender.roomId, config); client.reply(event, reply, replyHTML); return; } var enabled = client.modules.map(m => "[" + (config[m.name] !== false ? "x" : " ") + "] " + m.name); var reply = `enabled modules:\n${enabled.join("\n")}`; var replyHTML = `enabled modules:
${enabled.join("
")}`; client.reply(event, reply, replyHTML); } export default { command: "toggle", name: "toggle", admin: true, desc: "toggle a module on or off in current channel", execute }