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

446
Vistas
¿Cómo hago para que mi Discord Bot responda la misma respuesta para mensajes similares? JavaScript

He estado trabajando en un bot de Discord. Necesitaba una solución para preguntas como esta: Who are you o who are you

Las oraciones anteriores pueden parecer similares, pero distinguen entre mayúsculas y minúsculas, y quiero que mi bot responda la misma respuesta a algunas preguntas similares como las que mostré anteriormente. Esto es lo que probé:

 import Discord from 'discord.js' import { Client, Intents } from 'discord.js' const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES] }); client.on("ready", () => { console.log("Log In Successful!!") }) client.on("message", msg => { if (msg.content === 'hello', 'hey') { msg.reply("hi"); } }) client.login(process.env.TOKEN)

Pero cuando lo ejecuto y escribo el comando, repite la respuesta varias veces.

¿Algunas ideas para arreglar esto?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

La línea que está causando las múltiples respuestas es esta:

 if (msg.content === 'hello', 'hey'){

Su sintaxis está un poco mal y el 'hey' no es parte de la declaración como usted quiere que sea. El 'hey' se evalúa como true , lo que activa el código de la declaración if por segunda vez.

Para solucionarlo, es posible que desee tener una serie de respuestas y verificar si el mensaje del usuario está en la matriz (tenga en cuenta que .toLowerCase() significa que no tiene que preocuparse por las letras mayúsculas):

 greetings = ['hello', 'hey', 'hi'] if (greentings.indexOf(msg.content.toLowerCase()) > -1) { // the message is in the array - run your code here }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede agrupar preguntas similares en una matriz y usar Array#includes para verificar si la pregunta está en esa matriz. También puede hacer que no distinga entre mayúsculas y minúsculas usando toLowerCase . Algo como esto:

 client.on("message", (msg) => { const group = [ 'how are you', 'how you doin', 'you alright', ] if (group.includes(msg.content.toLowerCase())) { msg.reply('hi'); } })
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