diff --git a/src/lib/handlers/CommandHandler.ts b/src/lib/handlers/CommandHandler.ts index 1c7683c..c4f36c2 100644 --- a/src/lib/handlers/CommandHandler.ts +++ b/src/lib/handlers/CommandHandler.ts @@ -14,6 +14,7 @@ export function handle(interaction: Interaction) { const resolved = commands.get(interaction.data.name); if (!resolved) return interaction.respond("Internal Error: SLASHCOMMAND_NOT_FOUND", { isPrivate: true }); + resolved .run(interaction) .then((response: InteractionResponse) => diff --git a/src/lib/handlers/InteractionHandler.ts b/src/lib/handlers/InteractionHandler.ts index 776422a..038c088 100644 --- a/src/lib/handlers/InteractionHandler.ts +++ b/src/lib/handlers/InteractionHandler.ts @@ -22,9 +22,8 @@ export async function load(client: Bot) { export function handle(interaction: Interaction) { const { type } = interaction; - if (type == InteractionTypes.ApplicationCommand) { - CommandHandler.handle(interaction); - } else if (type == InteractionTypes.MessageComponent) { + if (type == InteractionTypes.ApplicationCommand) CommandHandler.handle(interaction); + else if (type == InteractionTypes.MessageComponent) { REST.sendInteractionResponse(interaction.id, interaction.token, { type: InteractionResponseTypes.ChannelMessageWithSource, data: { @@ -39,7 +38,5 @@ export function handle(interaction: Interaction) { choices: [{ name: "not_implemented", value: "Not Implemented" }], }, }); - } else if (type == InteractionTypes.ModalSubmit) { - ModalHandler.handle(interaction); - } + } else if (type == InteractionTypes.ModalSubmit) ModalHandler.handle(interaction); } diff --git a/src/lib/handlers/ModalHandler.ts b/src/lib/handlers/ModalHandler.ts index c7f1168..13b1899 100644 --- a/src/lib/handlers/ModalHandler.ts +++ b/src/lib/handlers/ModalHandler.ts @@ -25,7 +25,10 @@ export function collectModal(modal: Modal): Promise { modal.setId(id); modals.set(id, resolve); - setTimeout(() => reject(new Error("Modal timeout")), 1000 * 30); //, 1000 * 60 * 30); + setTimeout(() => { + modals.delete(id); + reject(new Error("Modal timeout")); + }, 1000 * 60 * 30); }); }