import { basecommands } from "commands"; import { Command, sendMessage } from "lib/commandUtils"; import parseCommandArgs from "lib/parseCommandArgs"; import { redis } from "lib/redis"; export default new Command({ name: "getcommands", aliases: ["getcommands", "getc", "commands"], usertype: "chatter", disableable: false, execution: async (msg) => { const args = parseCommandArgs(msg.messageText); if (!args[0]) { await sendMessage( `A full list of commands can be found here: https://gitlab.com/qwerinope/qweribot#commands-1`, msg.messageId, ); return; } const disabledcommands = await redis.smembers("disabledcommands"); if (args[0].toLowerCase() === "enabled") { const commandnames: string[] = []; for (const [name, command] of Array.from(basecommands.entries())) { if (command.usertype !== "chatter") continue; // Admin only commands should be somewhat hidden if (disabledcommands.includes(name)) continue; commandnames.push(name); } if (commandnames.length === 0) await sendMessage( "No commands besides non-disableable commands are enabled", msg.messageId, ); else await sendMessage( `Currently enabled commands: ${commandnames.join(", ")}`, msg.messageId, ); } else if (args[0].toLowerCase() === "disabled") { if (disabledcommands.length === 0) await sendMessage("No commands are disabled", msg.messageId); else await sendMessage( `Currently disabled commands: ${disabledcommands.join(", ")}`, ); } else await sendMessage( "Please specify if you want the enabled or disabled commands", msg.messageId, ); }, });