buttonClick Event

Button Clicks

When someone clicks on a button or uses a dropdown, it will fire an event called 'buttonClick'.

client.on('buttonClick', async (button) => {
});

Replying to buttons

We can reply when a button is clicked using .reply().

button.reply("");

If needed, you are able to add embeds, flags, attachments, and type in the reply. Check Methods.

Updating buttons

We can edit the original message that had the buttons using .update().

button.update("");

If needed, you are able to add embeds, flags, attachments, and type in the reply. Check Methods.

Examples

Buttons

Here is an example of how to check for button IDs and how to handle them. Example****

client.on('buttonClick', async (button) => {
    if (button.data.custom_id === "1") {

        button.reply("Heya!"); //Reply to the interaction.

    } else if (button.data.custom_id === "2") {

        button.update("Edited the button :)"); //This will edit the original message. 

    } else if (button.data.custom_id === "3") {

        button.reply("Heya!", { flags: 64 }); //This will reply to the interaction with an ephemeral message. 

    } else if (button.data.custom_id === "4") {

        let cmp = [
            {
                "type": 1, "components": [
                    { "type": 2, "style": 1, "label": "Button 1", "custom_id": "3" },
                ]
            }
        ];

        button.update("Buttons!", { components: cmp });

    };
});

Here is an example of how to check for dropdown information and how to handle them. Example****

client.on('buttonClick', async (button) => {
    if (button.data.custom_id === "dropdown1") {

        if (button.data.values[0] === "hmmm") {

            button.reply(`🤔`)

        } else if (button.data.values[0] === "test") {

            button.reply(`Tests`)

        }
    };
});

Last updated