generalise command execution for interaction create

This commit is contained in:
Baipyrus 2024-02-06 15:49:07 +01:00
parent f70912e4fd
commit 905ee9d8a9

View File

@ -1,6 +1,6 @@
import { Events } from 'discord.js'; import { Events } from 'discord.js';
const chatInputCommand = async (interaction, command) => { const executeCommand = async (interaction, command) => {
// Try executing command // Try executing command
try { try {
console.info(`[INFO] Command ${interaction.commandName} was executed.`); console.info(`[INFO] Command ${interaction.commandName} was executed.`);
@ -34,9 +34,9 @@ export const name = Events.InteractionCreate;
export async function execute(interaction) { export async function execute(interaction) {
let command = interaction.client.commands.get(interaction.commandName); let command = interaction.client.commands.get(interaction.commandName);
// Execute slash commands // Execute slash- and context-menu-commands
if (interaction.isChatInputCommand()) { if (interaction.isChatInputCommand() || interaction.isMessageContextMenuCommand()) {
await chatInputCommand(interaction, command); await executeCommand(interaction, command);
return; return;
} }
// Autocomplete input // Autocomplete input
@ -44,7 +44,7 @@ export async function execute(interaction) {
await genericExecute(interaction, command, 'autocomplete'); await genericExecute(interaction, command, 'autocomplete');
return; return;
} }
// Modeal submit event // Modal submit event
if (interaction.isModalSubmit()) { if (interaction.isModalSubmit()) {
const name = interaction.customId.split('-')[0]; const name = interaction.customId.split('-')[0];
command = interaction.client.commands.get(name); command = interaction.client.commands.get(name);