Menú de selección

En esta sección, aprenderá a usar el componente Menú de selección.

Contenido

$newSelectMenu[] > $addSelectMenuOption[] > $editSelectMenuOption[] > $getSelectMenuID[] > $getMenuValueOption[]

Funciones Utilizadas

Muestras

Vista previa 1 Vista previa 2

Creación de un menú de selección

$newSelectMenu[Menu ID;Min;Max;(Placeholder;Message ID)]
  • Menu ID - Se utiliza para la retrollamada $onInteraction[ID]. Funciona de la misma manera que buttons.
  • Mín: cantidad mínima de valores que se pueden seleccionar.
  • Máx: cantidad máxima de valores que se pueden seleccionar.
  • Marcador de posición: texto que aparece si no se selecciona ninguna opción.
  • ID del mensaje: ID de un mensaje al que se debe añadir el menú de selección. Por defecto, es la respuesta del bot.

Añadir una opción

$addSelectMenuOption[ID de la opción del menú;Etiqueta;Valor;Descripción;(Predeterminado;Emoji;ID del mensaje)]
  • ID de la opción del menú: debe ser el mismo que el ID usado en $newSelectMenu[].
  • Etiqueta: nombre de la opción. - Valor: son los datos que se pasan a la función $onInteraction[]. ¡El valor debe ser único en el menú de selección!
  • Descripción: aparece debajo de etiqueta.
  • Predeterminado: si la opción está seleccionada por defecto. ¡Solo puede haber una opción por defecto!
  • Emoji: aparece junto a etiqueta.
  • ID del mensaje: igual que en $newSelectMenu[].

Ejemplo

Código de selección de menú

$newSelectMenu[Ejemplo;1;1;Elegir una opción]
$addSelectMenuOption[Ejemplo;Primera;primera-opción;La primera opción]
$addSelectMenuOption[Ejemplo;Segunda;segunda-opción;La segunda opción]
$addSelectMenuOption[Ejemplo;Tercera;tercera-opción;La tercera opción]

Código de interacción

$onInteraction

bot = ..

bot.new_event("$onInteraction",
               """
$if[$checCondition[$getSelectMenuID[]==Ejemplo];

$if[$checkCondition[$getMenuValueOption[]==primera-opcion];
Ha elegido la primera opción;]

$if[$checkCondition[$getMenuValueOption[]==segunda-opcion];
Ha elegido la primera opción;]

$if[$checkCondition[$getMenuValueOption[]==tercera-opcion];
Ha elegido la primera opción;]

;] """)

bot.run(..)

Uso

Uso 1

Menú de selección múltiple

En el menú de selección, puede elegir no solo una opción, sino varias a la vez. Esto se puede entender por la presencia de los argumentos «Mín» y «Máx».

Ejemplo

Código del menú Select

Aquí cambiaremos el argumento Máx. a 3.

$newSelectMenu[Ejemplo;1;3;Elegir una opción]
$addSelectMenuOption[Ejemplo;Primero;primera opción;La primera opción]
$addSelectMenuOption[Ejemplo;Segundo;segunda opción;La segunda opción]
$addSelectMenuOption[Ejemplo;Tercero;tercera opción;La tercera opción]

Interacción Código

$if[$checkContains[$getMenuValueOption[];first-option];
$addCmdReactions[1️⃣]
;]

$if[$checkContains[$getMenuValueOption[];second-option];
$addCmdReactions[2️⃣]
;]

$if[$checkContains[$getMenuValueOption[];third-option];
$addCmdReactions[3️⃣]
;]

Si elegimos varias opciones, se añadirán varias reacciones.

Uso

Uso 2.1 Uso 2.2

Edición de un menú de selección

Puede editar el menú de selección, así como sus opciones. ## $editSelectMenu

Uso

$editSelectMenu[ID del menú;Mín;Máx;(Marcador de posición;ID del mensaje)]

$editSelectMenuOption

Uso

$editSelectMenuOption[ID de la opción del menú;Etiqueta;Valor;Descripción;(Predeterminado;Emoji;ID del mensaje)]

Como puede observar, los argumentos son exactamente los mismos.

Ejemplo

Código de menú de selección

$newSelectMenu[Ejemplo;1;1;Elegir una opción]
$addSelectMenuOption[Ejemplo;Primero;primera opción;La primera opción]
$addSelectMenuOption[Ejemplo;Segundo;segunda opción;La segunda opción]
$addSelectMenuOption[Ejemplo;Tercero;tercera opción;La tercera opción]

Código de interacción

Ejemplo 1

$editSelectMenuOption[Ejemplo;Primero;primera opción;La primera opción;false;1️⃣]
$editSelectMenuOption[Ejemplo;Segundo;segunda opción;La segunda opción;false;2️⃣]
$editSelectMenuOption[Ejemplo;Tercero;tercera opción;La tercera opción;false;3️⃣]

Ejemplo 1 Ejemplo 1 Ejemplo 1

Acabamos de añadir emojis a nuestras opciones después de seleccionar cualquier opción.