From 0d7a388b3c260cf27eba8d0274f2f07bf5b9049a Mon Sep 17 00:00:00 2001 From: Charlie Laabs Date: Fri, 20 May 2022 21:25:09 -0500 Subject: [PATCH] Rough fix for TTS not working using command interaction --- src/index.ts | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/index.ts b/src/index.ts index 5593337..c61e2a7 100644 --- a/src/index.ts +++ b/src/index.ts @@ -754,8 +754,22 @@ client.on('interactionCreate', async (interaction) => { const debug = interaction.options.getBoolean('debug') || false; const startSeed = interaction.options.getString('seed')?.trim() || undefined; const generatedResponse = await generateResponse(interaction, { tts, debug, startSeed }); - if (generatedResponse.message) await interaction.editReply(generatedResponse.message); - else await interaction.deleteReply(); + + /** + * TTS doesn't work when using editReply, so instead we use delete + followUp + * However, delete + followUp is ugly and shows the bot replying to "Message could not be loaded.", + * so we avoid it if possible + */ + if (generatedResponse.message) { + if (generatedResponse.message.tts) { + await interaction.deleteReply(); + await interaction.followUp(generatedResponse.message); + } else { + await interaction.editReply(generatedResponse.message); + } + } else { + await interaction.deleteReply(); + } if (generatedResponse.debug) await interaction.followUp(generatedResponse.debug); if (generatedResponse.error) { await interaction.followUp({ ...generatedResponse.error, ephemeral: true });