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

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

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 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