3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-03-15 05:41:51 +00:00

Make sure waitForButtonConfirm() component custom IDs are unique

This commit is contained in:
Dragory 2021-08-18 21:01:57 +03:00
parent a179119f2e
commit d6c4868ccf
No known key found for this signature in database
GPG key ID: 5F387BA66DF8AAC1

View file

@ -1,6 +1,7 @@
import { MessageActionRow, MessageButton, MessageComponentInteraction, MessageOptions, TextChannel } from "discord.js";
import { noop } from "knub/dist/utils";
import moment from "moment";
import uuidv4 from "uuid/v4";
export async function waitForButtonConfirm(
channel: TextChannel,
@ -13,12 +14,12 @@ export async function waitForButtonConfirm(
new MessageButton()
.setStyle("SUCCESS")
.setLabel(options?.confirmText || "Confirm")
.setCustomId(`confirmButton:${idMod}`),
.setCustomId(`confirmButton:${idMod}:${uuidv4()}`),
new MessageButton()
.setStyle("DANGER")
.setLabel(options?.cancelText || "Cancel")
.setCustomId(`cancelButton:${idMod}`),
.setCustomId(`cancelButton:${idMod}:${uuidv4()}`),
]);
const message = await channel.send({ ...toPost, components: [row] });
@ -28,10 +29,10 @@ export async function waitForButtonConfirm(
if (options?.restrictToId && options.restrictToId !== interaction.user.id) {
interaction.reply({ content: `You are not permitted to use these buttons.`, ephemeral: true });
} else {
if (interaction.customId === `confirmButton:${idMod}`) {
if (interaction.customId.startsWith(`confirmButton:${idMod}:`)) {
message.delete();
resolve(true);
} else if (interaction.customId === `cancelButton:${idMod}`) {
} else if (interaction.customId.startsWith(`cancelButton:${idMod}:`)) {
message.delete();
resolve(false);
}