Home > Net >  Discord.js : Variable is undefined despite using await
Discord.js : Variable is undefined despite using await

Time:08-17

I'm making a discord bot using discord.js that listens to slash commands in a discord server and manipulates data on a google sheet. I've come across a frustrating problem while trying to make a confirmation system for a command. The issue is with the getConfirmation() method. Here is the relevant code:

    async execute(interaction) {
        try {
            await interaction.deferReply();
               
            // get player from spreadsheet
            const iss = interaction.options.getInteger("iss");
            const player = await getPlayerByISS(iss);

            // get confirmation
            let hasConfirmed = await getConfirmation(interaction, player);

            if (!hasConfirmed) {
                await interaction.editReply("Draft choice abandoned.");
                return;
            }

            // if confirmed, draft the player
            let draftedPlayer = await draftPlayer(interaction.user.tag, player);

            await interaction.editReply(draftedPlayer);
        } catch (error) {
            console.log(error);
            await interaction.editReply("Could not draft player");
        }
    }

and

async function getConfirmation(interaction, player) {
    try {
        // send confirmation msg
        const message = await interaction.channel.send({
            content: `Are you sure you want to draft ${formatPlayerString(
                player
            )}?`
        });

        const filter = (reaction, user) => {
            return (
                ["           
  • Related