diff --git a/src/events/messageCreate.ts b/src/events/messageCreate.ts new file mode 100644 index 0000000..c64c389 --- /dev/null +++ b/src/events/messageCreate.ts @@ -0,0 +1,21 @@ +import { Events } from "discord.js"; +import { defineEvent } from "."; +import { dedent } from "../utils/functions"; + +export default defineEvent({ + name: Events.MessageCreate, + + async execute(message) { + if (message.author.bot) return; + + const command = message.content.match(/^\$[a-zA-Z]+$/); + if (command) { + await message.reply( + dedent`The bot has migrated to slash commands! + Start typing \`/\` to see the available commands. + For example: \`/${command[0].slice(1)}\`` + ); + return; + } + }, +}); diff --git a/src/utils/functions.ts b/src/utils/functions.ts index e818180..692c634 100644 --- a/src/utils/functions.ts +++ b/src/utils/functions.ts @@ -42,3 +42,12 @@ export async function silently>(p?: T) { return await p; } catch {} } + +export function dedent(parts: TemplateStringsArray, ...values: unknown[]) { + return parts + .flatMap((part, i) => + i < values.length ? [part, String(values[i])] : [part] + ) + .join("") + .replace(/(\n)\s+/g, "$1"); +}