From a93d2c80c658ed5fcee88b03895ec916aa846aa2 Mon Sep 17 00:00:00 2001 From: utarwyn Date: Tue, 30 Aug 2022 10:59:12 +0200 Subject: [PATCH] GH-178: Do not send message with "." when accepting a duel --- src/bot/entity/DuelRequest.ts | 1 - src/bot/messaging/CommandInteractionMessagingTunnel.ts | 10 ++++++---- .../messaging/ComponentInteractionMessagingTunnel.ts | 6 ++++-- src/bot/messaging/MessagingTunnel.ts | 2 +- src/bot/messaging/TextMessagingTunnel.ts | 6 ++---- 5 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/bot/entity/DuelRequest.ts b/src/bot/entity/DuelRequest.ts index d890ec77..02b2436e 100644 --- a/src/bot/entity/DuelRequest.ts +++ b/src/bot/entity/DuelRequest.ts @@ -181,7 +181,6 @@ export default class DuelRequest { */ private async challengeAnswered(accepted: boolean): Promise { if (accepted) { - await this.tunnel.end(); await this.manager.createGame(this.tunnel, this.invited); } else { return this.tunnel.end({ diff --git a/src/bot/messaging/CommandInteractionMessagingTunnel.ts b/src/bot/messaging/CommandInteractionMessagingTunnel.ts index 1253fc73..837ef910 100644 --- a/src/bot/messaging/CommandInteractionMessagingTunnel.ts +++ b/src/bot/messaging/CommandInteractionMessagingTunnel.ts @@ -68,9 +68,11 @@ export default class CommandInteractionMessagingTunnel extends MessagingTunnel { } this._reply = (await this.interaction.reply({ + components: [], + embeds: [], ...answer, - fetchReply: true, - ephemeral: direct + ephemeral: direct, + fetchReply: true })) as Message; return this._reply; @@ -88,10 +90,10 @@ export default class CommandInteractionMessagingTunnel extends MessagingTunnel { /** * @inheritdoc */ - public async end(reason?: MessagingAnswer): Promise { + public async end(reason: MessagingAnswer): Promise { if (this.reply) { try { - await this.editReply(reason ?? { content: '.', components: [], embeds: [] }); + await this.editReply(reason); await this.reply.reactions.removeAll(); } catch { // ignore api error diff --git a/src/bot/messaging/ComponentInteractionMessagingTunnel.ts b/src/bot/messaging/ComponentInteractionMessagingTunnel.ts index 2ad99a55..ed4f6de1 100644 --- a/src/bot/messaging/ComponentInteractionMessagingTunnel.ts +++ b/src/bot/messaging/ComponentInteractionMessagingTunnel.ts @@ -67,6 +67,8 @@ export default class ComponentInteractionMessagingTunnel extends MessagingTunnel await this.interaction.editReply(answer); } else { this._reply = (await this.interaction.update({ + components: [], + embeds: [], ...answer, fetchReply: true })) as Message; @@ -85,9 +87,9 @@ export default class ComponentInteractionMessagingTunnel extends MessagingTunnel /** * @inheritdoc */ - public async end(reason?: MessagingAnswer): Promise { + public async end(reason: MessagingAnswer): Promise { try { - await this.editReply(reason ?? { content: '.', components: [], embeds: [] }); + await this.editReply(reason); await (this.interaction.message as Message).reactions.removeAll(); } catch (e) { // ignore api error diff --git a/src/bot/messaging/MessagingTunnel.ts b/src/bot/messaging/MessagingTunnel.ts index 5e8c253b..d9f6957d 100644 --- a/src/bot/messaging/MessagingTunnel.ts +++ b/src/bot/messaging/MessagingTunnel.ts @@ -53,5 +53,5 @@ export default abstract class MessagingTunnel { * * @param reason reason of the tunnel ending */ - public abstract end(reason?: MessagingAnswer): Promise; + public abstract end(reason: MessagingAnswer): Promise; } diff --git a/src/bot/messaging/TextMessagingTunnel.ts b/src/bot/messaging/TextMessagingTunnel.ts index 5e0950ab..700b9735 100644 --- a/src/bot/messaging/TextMessagingTunnel.ts +++ b/src/bot/messaging/TextMessagingTunnel.ts @@ -75,7 +75,7 @@ export default class TextMessagingTunnel extends MessagingTunnel { /** * @inheritdoc */ - public async end(reason?: MessagingAnswer): Promise { + public async end(reason: MessagingAnswer): Promise { if (this.reply) { if (this.reply.deletable) { try { @@ -84,9 +84,7 @@ export default class TextMessagingTunnel extends MessagingTunnel { // ignore api error } } - if (reason) { - await this.channel.send(reason); - } + await this.channel.send(reason); this._reply = undefined; } }