#making users only press an option once

5 messages · Page 1 of 1 (latest)

covert timber
#

I have a set of buttons with different options and want to know what i could do for preventing them to click the buttons if they already did.

heres my interaction buttons event function

client.on('interactionCreate', async interaction => {
    if (!interaction.isButton()) return
    
    const interactionButton = interaction.customId
    const interactionEmbedMessage = interaction.message.embeds.pop()
    const interactionEdit = new EmbedBuilder()
        .setColor(interactionEmbedMessage.hexColor)
        .setTitle(interactionEmbedMessage.title)
        .setDescription(interactionEmbedMessage.description)

    let interactionFields = interactionEmbedMessage.fields
    // the next if is for preventing them to interact once they did once
    if (!interactionButton.endsWith(interaction.user.id))
        return interaction.reply({
            content: 'you can only click once',
            ephemeral: true
        })

    switch (interactionButton) {
        case 'btn-0':
            interactionFields[0].value = (parseInt(interactionFields[0].value) + 1).toString()
            interactionEdit.addFields(interactionFields)
            break
            
        case 'btn-1':
            interactionFields[1].value = (parseInt(interactionFields[1].value) + 1).toString()
            interactionEdit.addFields(interactionFields)
            break

        case 'btn-2':
            interactionFields[2].value = (parseInt(interactionFields[2].value) + 1).toString()
            interactionEdit.addFields(interactionFields)
            break

        case 'btn-3':
            interactionFields[3].value = (parseInt(interactionFields[3].value) + 1).toString()
            interactionEdit.addFields(interactionFields)
            break

        default:
            break
    }

    await interaction.update({ embeds: [interactionEdit] })
})
shell hollow
#

• What's your exact discord.js npm list discord.js and node node -v version?
• Post the full error stack trace, not just the top part!
• Show your code!
• Explain what exactly your issue is.
• Not a discord.js issue? Check out #useful-servers.

covert timber
#

do i need to save which users are interacting with the embedded message? or theres another way?

final yacht
covert timber