utils.selectionMessage: move to interactionCreate event now that it exists

This commit is contained in:
Cynthia Foxwell 2021-11-09 11:06:11 -07:00
parent 2205245353
commit 7e3bfd5a0d
1 changed files with 9 additions and 26 deletions

View File

@ -205,46 +205,31 @@ async function selectionMessage(msg, heading, options, timeout = 30000) {
const displayMessage = await msg.channel.createMessage(data); const displayMessage = await msg.channel.createMessage(data);
return await new Promise((resolve, reject) => { return await new Promise((resolve, reject) => {
function listener(packet) { function listener(interaction) {
if (packet.t == "INTERACTION_CREATE") { if (interaction instanceof Eris.ComponentInteraction) {
const interaction = packet.d;
const user = interaction.member.user || interaction.user; const user = interaction.member.user || interaction.user;
if ( if (
user.id == msg.author.id && user.id == msg.author.id &&
interaction.channel_id == msg.channel.id && interaction.channel.id == msg.channel.id &&
interaction.message.components[0].components[0].custom_id == msg.id interaction.message.components[0].components[0].custom_id == msg.id
) { ) {
if (interaction.data.custom_id == "cancel") { if (interaction.data.custom_id == "cancel") {
hf.events.remove("unknown", `selection.${msg.id}`); hf.events.remove("interactionCreate", `selection.${msg.id}`);
clearTimeout(hf.selectionMessages.get(msg.id)); clearTimeout(hf.selectionMessages.get(msg.id));
hf.selectionMessages.remove(msg.id); hf.selectionMessages.remove(msg.id);
hf.bot.requestHandler.request( interaction.deferUpdate();
"POST",
`/interactions/${interaction.id}/${interaction.token}/callback`,
false,
{
type: 6,
}
);
displayMessage.delete(); displayMessage.delete();
reject("Canceled"); reject("Canceled");
} else { } else {
hf.events.remove("unknown", `selection.${msg.id}`); hf.events.remove("interactionCreate", `selection.${msg.id}`);
clearTimeout(hf.selectionMessages.get(msg.id)); clearTimeout(hf.selectionMessages.get(msg.id));
hf.selectionMessages.remove(msg.id); hf.selectionMessages.remove(msg.id);
hf.bot.requestHandler.request( interaction.deferUpdate();
"POST",
`/interactions/${interaction.id}/${interaction.token}/callback`,
false,
{
type: 6,
}
);
displayMessage.delete(); displayMessage.delete();
@ -257,15 +242,13 @@ async function selectionMessage(msg, heading, options, timeout = 30000) {
} }
} }
} }
hf.events.add("unknown", `selection.${msg.id}`, listener); hf.events.add("interactionCreate", `selection.${msg.id}`, listener);
hf.selectionMessages.set( hf.selectionMessages.set(
msg.id, msg.id,
setTimeout(() => { setTimeout(() => {
hf.events.remove("messageCreate", `selection.${msg.id}`); hf.events.remove("interactionCreate", `selection.${msg.id}`);
hf.selectionMessages.remove(msg.id); hf.selectionMessages.remove(msg.id);
displayMessage.delete();
reject("Request timed out"); reject("Request timed out");
}, timeout) }, timeout)
); );