🔘 Button
Como obter: `Button()`
Métodos
| Assinatura | Parâmetro(s) | Descrição |
|---|---|---|
| setLabel(v) | string | Texto do botão |
| setStyle(v) | string | primary · secondary · success · danger · link — ver button-style |
| setCustomId(v) | string | Permanente. ID fixo escolhido por você. Nunca expira — capture com on(buttonClick, i => { if (i.customId == "v") ... }). Continua funcionando mesmo depois da Ayami reiniciar. |
| onClick(fn, opts?) | function | Temporária. Registra o clique direto, sem precisar de on(buttonClick). Expira sozinha (10min por padrão). opts: { user: true|"id", ttl: ms } — user: true restringe ao autor do comando. |
| setEmoji(e) | string | Emoji. Ex: "🎉" |
| setDisabled(v) | bool | Desabilita o botão |
| setURL(v) | string | URL (só com style link) |
Permanente vs. temporária: use
setCustomId pra botões que precisam sobreviver a reinícios (ex: painel fixo). Use onClick pra botões de uso único ligados a um comando (ex: confirmar/cancelar), sem precisar de handler separado.Exemplo de uso
on command("confirmar", message, args)
let btn = Button()
.setLabel("Confirmar")
.setStyle("success")
.onClick(function(interaction)
interaction.reply("✅ Confirmado!")
end)
message.reply("Clique para confirmar:", { components: [btn] })
end