Saltar al contenido

Nuevos comandos de Discord Slash

Solución:

Puedes usar el regular discord.js, ahora es v12.5.1.

Esto es solo una muestra, pero funcionó para mí. (Actualmente trato de mejorar esto)

const Discord = require('discord.js');
const client = new Discord.Client();

client.on('ready', () => {
    client.api.applications(client.user.id).guilds(YOUR_GUILD_ID_HERE).commands.post({
        data: {
            name: "hello",
            description: "hello world command"
            // possible options here e.g. options: [{...}]
        }
    });


    client.ws.on('INTERACTION_CREATE', async interaction => {
        const command = interaction.data.name.toLowerCase();
        const args = interaction.data.options;

        if (command === 'hello'){ 
            // here you could do anything. in this sample
            // i reply with an api interaction
            client.api.interactions(interaction.id, interaction.token).callback.post({
                data: {
                    type: 4,
                    data: {
                        content: "hello world!!!"
                    }
                }
            })
        }
    });
});

client.login(token);

Por supuesto que puedes tener opciones, ver documentación …

IDE no registrará el nuevo código … al menos mi tormenta php actualmente no lo hace 🙂

Sin embargo, ¡es importante darle al bot los permisos correctos para usar este tipo de comando!

Así que vaya a Discord.com/developers, seleccione su aplicación, vaya a OAuth2 y seleccione

application.commands

de la sección de alcance. Debe estar en la parte inferior de la columna del medio. Deberías seleccionar bot también y debajo Bot Permissionsestablece algunos otros permisos específicos. Luego use ese nuevo enlace de invitación para volver a invitar al bot.

Sin application.commands permiso, el comando no funcionará y recibirá algún error como Missing Access o algo similar.

COSAS IMPORTANTES

  1. Usar .guilds('11231...').comma para probar estos comandos. Cuando no se usa, se tarda alrededor de 1 hora en activarse. Su uso lo activará inmediatamente.

  2. Dale al bot el permiso correcto. application.commands

Hola, no suelo trabajar con discord.js, pero pude encontrar buena documentación sobre esto. Debería poder hacerlo así con “cliente” definido.

const interactions = require("discord-slash-commands-client");

const client = new interactions.Client(
  "you unique bot token",
  "your bots user id"
);

Si el cliente se define como se muestra, entonces un comando / debería funcionar si se define así.

// will create a new command and log its data. 
//If a command with this name already exist will that be overwritten.
client.createCommand({
    name: "your command name",
    description: "description for this command",
  })
  .catch(console.error)
  .then(console.log);
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *