Ir al contenido

Button

type: 2 Mensajes

El Button es un botón que el usuario puede pulsar. Va dentro de una Action Row o como accessory de una Section.

Vista previa
Mi BotAPPHoy a las 12:00
payload.json
{
"flags": 32768,
"components": [
{
"type": 1,
"components": [
{
"type": 2,
"style": 1,
"label": "Primary",
"custom_id": "b1"
},
{
"type": 2,
"style": 2,
"label": "Secondary",
"custom_id": "b2"
},
{
"type": 2,
"style": 3,
"label": "Success",
"custom_id": "b3"
},
{
"type": 2,
"style": 4,
"label": "Danger",
"custom_id": "b4"
},
{
"type": 2,
"style": 5,
"label": "Link",
"url": "https://discord.com"
}
]
},
{
"type": 1,
"components": [
{
"type": 2,
"style": 6,
"sku_id": "1234567890123456789"
},
{
"type": 2,
"style": 2,
"label": "Desactivado",
"custom_id": "b6",
"disabled": true
},
{
"type": 2,
"style": 2,
"label": "Con emoji",
"custom_id": "b7",
"emoji": {
"name": "🎉"
}
}
]
}
]
}
Estilo Valor Necesita Uso recomendado
Primary 1 custom_id La acción principal. Solo una por grupo.
Secondary 2 custom_id Acciones secundarias o del mismo peso.
Success 3 custom_id Acciones positivas (confirmar, aceptar).
Danger 4 custom_id Acciones peligrosas o irreversibles (borrar, expulsar).
Link 5 url Abre una web. No envía interacción a tu bot.
Premium 6 sku_id Compra de un producto de tu app. No envía interacción.
Campo Tipo Descripción
type entero obligatorio Siempre 2.
id entero opcional Identificador único.
style entero obligatorio Estilo del botón (tabla de arriba).
label string opcional Texto del botón. Máx. 80 caracteres.
emoji emoji parcial opcional { "name": "🎉" } o { "name": "nombre", "id": "123" }.
custom_id string Lo que recibe tu bot al pulsarlo. 1-100 caracteres. obligatorio en estilos 1-4, prohibido en 5 y 6.
url string URL a abrir. Máx. 512 caracteres. obligatorio en Link (5).
sku_id snowflake ID del producto. obligatorio en Premium (6).
disabled booleano opcional Desactivar el botón. Por defecto false.
{
"type": 1,
"components": [
{ "type": 2, "style": 1, "label": "Confirmar", "custom_id": "confirmar", "emoji": { "name": "✅" } },
{ "type": 2, "style": 5, "label": "Web", "url": "https://discord.com" },
{ "type": 2, "style": 6, "sku_id": "1234567890123456789" }
]
}

Tu bot recibe una interacción con data.custom_id y data.component_type = 2. Aprende a responder en Interacciones.

  • El custom_id debe ser único dentro del mensaje.
  • Usa disabled: true para mostrar un botón que todavía no se puede usar (por ejemplo, “Siguiente” en la última página).
  • Los emojis personalizados necesitan id y name: { "name": "pepe", "id": "123456789012345678" }.