Quiero escribir un comando de barra que borre los mensajes. Todo está bien, pero hay una cosa que realmente no pude entender:
¿Cómo establecería el rango para una opción de número entero en una compilación de comando de barra oblicua, o incluso hay algo como esto o necesito hacer la vieja escuela y responder que el valor está fuera de rango?
Aquí están mis datos para el comando de barra que se registrará:
data: new SlashCommandBuilder() .setName('clear') .setDescription('Clears specified amount of Messages') .addIntegerOption(option => { option .setName('amount') .setRequired(true) .setDescription('The Amount of Messages to clear') }),Lamentablemente, no hay opción para establecer el rango, pero hay algo nuevo llamado efímero que puede usar como configuración en interacción. respuesta ()
ejemplo:
interaction.reply({ content: "Your amount is bigger than 500", ephemeral: true"})efímero permite que solo el usuario del comando vea la respuesta y simplemente puede eliminarla si lo desea presionando el texto azul que dice "Nachricht verferfen" en mi caso porque mi Discord está configurado en alemán.
Editar Tengo que corregirme a mí mismo, en realidad hay una opción para min y max para opciones de enteros y para algunas otras opciones como opciones de cadena, en realidad puede escribir su propio autocompletado
Como Snoweuph ya ha dicho, su respuesta es incorrecta: puede establecer valores mínimos y máximos usando setMinValue() y setMaxValue() .
Esto es lo que parece en el código:
data = new SlashCommandBuilder() .setName("example") .setDescription("wow look at me!") .addIntegerOption(option => option.setName("integer") .setDescription("some name i guess") .setMinValue(0) .setMaxValue(22) );Y en Discord, el usuario recibirá un mensaje de error si el número entero que eligió es demasiado grande o demasiado pequeño.
Ejemplo de registro de chat de Discord aquí:
Esto también funciona con las opciones de número ( docs ).