Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

451
Vistas
¿Cómo hago que mi bot de discordia responda a un mensaje con prefijo?

Lo que estoy tratando de hacer es configurar un bot de respuesta automática de discordia que responda si alguien dice prefijo de coincidencia + objeto de respuesta como "! ping". No sé por qué no sale con ninguna respuesta en la disputa. Adjunto una imagen de lo que hace. No puedo entender por qué no aparece con ninguna respuesta en discordia.

 const Discord = require('discord.js'); const client = new Discord.Client({intents: ["GUILDS", "GUILD_MESSAGES"]}); const prefix = '!' client.on('ready', () => { let botStatus = [ 'up!h or up!help', `${client.users.cache.size} citizens!`, `${client.guilds.cache.size} servers!` ] setInterval(function(){ let status = botStatus[Math.floor(Math.random() * botStatus.length)] client.user.setActivity(status, {type: 'WATCHING'}) }, 15000); console.log(client.user.username); }); client.on('message', message => { if(!message.content.startsWith(prefix) || message.author.bot) return const args = message.content.slice(prefix.length).split(/ +/) const command = args.shift().toLowerCase() const responseObject = { "ping": `🏓 Latency is ${msg.createdTimestamp - message.createdTimestamp}ms. API Latency is ${Math.round(client.ws.ping)}ms` }; if (responseObject[message.content]) { message.channel.send('Loading data...').then (async (msg) =>{ msg.delete() message.channel.send(responseObject[message.content]); }).catch(err => console.log(err.message)) } }); client.login(process.env.token);
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Su principal problema es que está tratando de verificar message.content contra 'ping' , pero requiere un prefijo. Su message.content siempre tendrá un prefijo, por lo que podría probar if (responseObject[message.content.slice(prefix.length)]) .

Otras alternativas serían agregar el prefijo al objeto ( "!ping": "Latency is..." )

O bien, cree una variable que rastree el comando utilizado.

 let cmd = message.content.toLowerCase().slice(prefix.length).split(/\s+/gm)[0] // then use it to check the object if (responseObject[cmd]) {}
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda