Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

102
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!