Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

454
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda