mirror of
https://gitlab.com/qwerinope/qweribot.git
synced 2026-02-04 10:56:57 +01:00
52 lines
1.6 KiB
TypeScript
52 lines
1.6 KiB
TypeScript
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,
|
|
);
|
|
},
|
|
});
|