From dd2eebd4a526992a308b69518947d7fce190913a Mon Sep 17 00:00:00 2001 From: Dragory <2606411+Dragory@users.noreply.github.com> Date: Sat, 1 Apr 2023 21:40:27 +0300 Subject: [PATCH] fix: occasional crash in context menus Co-authored-by: metal --- backend/src/plugins/ContextMenus/actions/clean.ts | 6 +++--- backend/src/plugins/ContextMenus/actions/mute.ts | 8 ++++---- backend/src/plugins/ContextMenus/actions/userInfo.ts | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/backend/src/plugins/ContextMenus/actions/clean.ts b/backend/src/plugins/ContextMenus/actions/clean.ts index 7fd124e9..262fb393 100644 --- a/backend/src/plugins/ContextMenus/actions/clean.ts +++ b/backend/src/plugins/ContextMenus/actions/clean.ts @@ -10,7 +10,7 @@ export async function cleanAction( amount: number, interaction: ContextMenuCommandInteraction, ) { - interaction.deferReply({ ephemeral: true }); + await interaction.deferReply({ ephemeral: true }); const executingMember = await pluginData.guild.members.fetch(interaction.user.id); const userCfg = await pluginData.config.getMatchingConfig({ channelId: interaction.channelId, @@ -34,10 +34,10 @@ export async function cleanAction( const user = undefined; try { - interaction.followUp(`Cleaning... Amount: ${amount}, User Only: ${targetUserOnly}, Pins: ${deletePins}`); + await interaction.followUp(`Cleaning... Amount: ${amount}, User Only: ${targetUserOnly}, Pins: ${deletePins}`); utility.clean({ count: amount, user, channel: targetMessage.channel.id, "delete-pins": deletePins }, targetMessage); } catch (e) { - interaction.followUp({ ephemeral: true, content: "Plugin error, please check your BOT_ALERTs" }); + await interaction.followUp({ ephemeral: true, content: "Plugin error, please check your BOT_ALERTs" }); if (e instanceof RecoverablePluginError && e.code === ERRORS.NO_MUTE_ROLE_IN_CONFIG) { pluginData.getPlugin(LogsPlugin).logBotAlert({ diff --git a/backend/src/plugins/ContextMenus/actions/mute.ts b/backend/src/plugins/ContextMenus/actions/mute.ts index 4dfc682e..9dbe529a 100644 --- a/backend/src/plugins/ContextMenus/actions/mute.ts +++ b/backend/src/plugins/ContextMenus/actions/mute.ts @@ -15,7 +15,7 @@ export async function muteAction( duration: string | undefined, interaction: ContextMenuCommandInteraction, ) { - interaction.deferReply({ ephemeral: true }); + await interaction.deferReply({ ephemeral: true }); const executingMember = await pluginData.guild.members.fetch(interaction.user.id); const userCfg = await pluginData.config.getMatchingConfig({ channelId: interaction.channelId, @@ -34,7 +34,7 @@ export async function muteAction( const targetMember = await pluginData.guild.members.fetch(interaction.targetId); if (!canActOn(pluginData, executingMember, targetMember)) { - interaction.followUp({ ephemeral: true, content: "Cannot mute: insufficient permissions" }); + await interaction.followUp({ ephemeral: true, content: "Cannot mute: insufficient permissions" }); return; } @@ -51,9 +51,9 @@ export async function muteAction( result.notifyResult.method ?? "dm" })\nPlease update the new case with the \`update\` command`; - interaction.followUp({ ephemeral: true, content: muteMessage }); + await interaction.followUp({ ephemeral: true, content: muteMessage }); } catch (e) { - interaction.followUp({ ephemeral: true, content: "Plugin error, please check your BOT_ALERTs" }); + await interaction.followUp({ ephemeral: true, content: "Plugin error, please check your BOT_ALERTs" }); if (e instanceof RecoverablePluginError && e.code === ERRORS.NO_MUTE_ROLE_IN_CONFIG) { pluginData.getPlugin(LogsPlugin).logBotAlert({ diff --git a/backend/src/plugins/ContextMenus/actions/userInfo.ts b/backend/src/plugins/ContextMenus/actions/userInfo.ts index 5818d57c..e445e1c8 100644 --- a/backend/src/plugins/ContextMenus/actions/userInfo.ts +++ b/backend/src/plugins/ContextMenus/actions/userInfo.ts @@ -7,7 +7,7 @@ export async function userInfoAction( pluginData: GuildPluginData, interaction: ContextMenuCommandInteraction, ) { - interaction.deferReply({ ephemeral: true }); + await interaction.deferReply({ ephemeral: true }); const executingMember = await pluginData.guild.members.fetch(interaction.user.id); const userCfg = await pluginData.config.getMatchingConfig({ channelId: interaction.channelId,