• Jobs
  • About Us
  • Jobs
    • Home
    • Jobs
    • Courses and challenges
  • Businesses
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

673
Views
Discord solo reconoce el comando "ping" en discord.js

En mi bot Discord.JS, tengo varios comandos configurados ( ping , beep , etc.) pero Discord solo reconoce "ping". He probado varias configuraciones y todas son iguales.

Aquí está mi código:

 const { Client, Intents } = require('discord.js'); const { token } = require('./config.json'); const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES] }); client.once('ready', () => { console.log('Ready!'); }); client.on('interactionCreate', async interaction => { if (!interaction.isCommand()) return; const { commandName: command } = interaction; if (command === 'ping') { await interaction.reply('Pong!'); } else if (command === 'beep') { await interaction.reply('Boop!'); } else if (command === 'server') { await interaction.reply(`Server name: ${interaction.guild.name}\nTotal members: ${interaction.guild.memberCount}`); } else if (command === 'user-info') { await interaction.reply(`Your username: ${interaction.user.username}\nYour ID: ${interaction.user.id}`); } }); client.login(token);

Y aquí está la vista de comandos de Discords cuando se ingresa "/"

Vista de comandos de Discords

Como puede ver, ping es lo único que reconoce discord.

También vale la pena señalar que el comando 'ping' tiene una descripción que configuré en la descripción original, por lo que parece que el problema es que Discord no actualiza los comandos cada vez que cambia el script. Pero, no sé cómo resolver ese problema.

over 3 years ago · Santiago Trujillo
2 answers
Answer question

0

Parece que solo registró el comando ping. Tienes que registrar cada comando de barra de forma individual.

Supongo que registró el comando slash en algún mosaico antes y no lo ha eliminado desde entonces. Solo está respondiendo en su ejemplo de código a los comandos de barra, pero debe crearlos de primera mano. Consulta aquí cómo hacerlo.

Puede tomar hasta una hora registrar un comando global, así que tenga paciencia. Si está bien, con comandos de barra para un solo gremio, también puede crear solo comandos de gremio . Estos están en funcionamiento en minutos de vista (menos de 10 minutos como máximo)


Aquí hay un comando simple, con el que puede actualizar los comandos de barra (esto es directamente de los documentos )

 client.on('messageCreate', async message => { if (!client.application?.owner) await client.application?.fetch(); if (message.content.toLowerCase() === '!deploy' && message.author.id === client.application?.owner.id) { const data = [ { name: 'ping', description: 'Replies with Pong!', }, { name: 'pong', description: 'Replies with Ping!', }, ]; const commands = await client.application?.commands.set(data); console.log(commands); } });

NOTA: debe ejecutar la rama maestra de discord.js (también conocido como Discord.js V13 ). Si aún no lo ha instalado, puede instalarlo ejecutando: npm install discord.js@latest . Asegúrese de haber desinstalado la dependencia discord.js "normal" de antemano, ejecutando npm uninstall discord.js .

Si no está seguro de qué versión tiene instalada actualmente, simplemente ejecute npm list

over 3 years ago · Santiago Trujillo Report

0

Esto funcionó para mí, la idea es representar cada comando por separado.

También busqué algunas configuraciones codificadas: guild_id y client_id (para ganar algo de tiempo en el modo dev)

 const { Client, Collection, Intents } = require('discord.js'); const { token, client_id, guild_id } = require('./config.json'); const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES] }); client.once('ready', () => { console.log('Ready!'); }); client.on('messageCreate', async message => { if (!client.application?.owner) await client.application?.fetch(); // => client_id was just a quick fix, the correct value should be the id of the guild owner(s) if (message.content.toLowerCase() === '!deploy' && message.author.id === client_id) { const data = [ { name: 'ping', description: 'Replies with Pong!', }, { name: 'foo', description: 'Replies with bar!', }, { name: 'chicken', description: 'Replies with sticks!', }, ]; // same here, guild_id should also be replaced by the correct call to the idea number, just as client_id in this code! for (let i = 0; data.length > i; i++) { await client.guilds.cache.get(guild_id)?.commands.create(data[i]); } } }); client.on('interactionCreate', async interaction => { if (!interaction.isCommand()) return; const command = interaction.commandName; if (command === 'ping') { await interaction.reply('pong') } else if (command === 'foo') { await interaction.reply('bar') } else if (command === 'chicken') { await interaction.reply('nuggets') } }); client.login(token);
over 3 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Show me some job opportunities
There's an error!