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

109
Vistas
¿Cómo puedo crear un bot que responda algo a mensajes aleatorios? estoy usando un controlador de eventos

Así que quiero que mi bot en Discord tenga respuestas personalizadas, por ejemplo:

user: Hi

bot: Hello

user: ping

bot: pong

Quiero hacer que mi bot haga esto, pero estoy usando un controlador de eventos para todos los comandos que estoy usando y no quiero usar If(message.content ==... message.channel.send ".." en el archivo messagecreate.js o index.js porque planeo usar varios mensajes como este y me gustaría que mi código esté relativamente limpio y organizado

así que si hay alguna manera de mover las declaraciones 'if' a otro archivo messagereplies.js y ejecutarlo desde allí, házmelo saber

Este es mi archivo messagecreat.js

 require('dotenv').config(); module.exports = async (Discord, client, message) => { const prefix = (process.env.PREFIX); if (!message.content.startsWith(prefix) || message.author.bot) return; const args = message.content.slice(prefix.length).split(/ +/); const cmd = args.shift().toLowerCase(); const command = client.commands.get(cmd) || client.commands.find(a => a.aliases && a.aliases.includes(cmd)); if (command) command.execute(client, message, args, Discord);

y este es mi controlador de eventos

 const fs = require('fs'); module.exports = (client, Discord) => { const load_dir = (dirs) => { const event_files = fs.readdirSync(`./events/${dirs}`).filter(file => file.endsWith('.js')) for (const file of event_files) { const event = require(`../events/${dirs}/${file}`); const event_name = file.split('.')[0]; client.on(event_name, event.bind(null, Discord, client)) } } ['client', 'guild'].forEach(e => load_dir(e)); }

Básicamente, solo quiero un bloque en el archivo messagecreate.js o el archivo event_handler.js que ejecuta otro archivo en otra carpeta si se envía un mensaje

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

0

Crea un archivo json, llámalo como quieras y dentro de él pon tu frase desencadenante y su respuesta así, para este ejemplo, lo llamaré catchPhrase.json

 { "hi": "hello", "ping": "pong", "here": "there", "nowhere": "everywhere", "master": "slave", "mac": "pc" }

Luego, en su detector de eventos, solo necesita una declaración if

 require('dotenv').config(); module.exports = async (Discord, client, message) => { const prefix = (process.env.PREFIX); const catchPhrase = require('path/to/catchPhrase.json') if (catchPhrase[message.content]) return message.reply(`${catchPhrase[message.content]}`) const args = message.content.slice(prefix.length).split(/ +/); const cmd = args.shift().toLowerCase(); const command = client.commands.get(cmd) || client.commands.find(a => a.aliases && a.aliases.includes(cmd)); if (command) command.execute(client, message, args, Discord); }

Manifestación

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