It does not read the ready.js module when it is in the events folder.
I am not reading the ready.js file that is inside the events folder, which is marked to be read. I need help please
86 Replies
- What's your exact discord.js
npm list discord.js
and node node -v
version?
- Not a discord.js issue? Check out #other-js-ts.
- Consider reading #how-to-get-help to improve your question!
- Explain what exactly your issue is.
- Post the full error stack trace, not just the top part!
- Show your code!
- Issue solved? Press the button!you should update your discord.js version and also you have conflicting dependencies, some of them are using v12 which is deprecated since a long time
then, your script thats reading the files, which one is it? eventos.js?
if thats the case then you need to go up one folder
../eventos/ready.js
Okey, solved
And this?
It's not right, is it?
Hm... maybe one of your handlers is not exporting a function properly. Im not really familiar with that way of passing the client into the modules, directly after calling require.
by the way this is not really a discord.js issue and this is the discord.js forum, so for future questions like this feel free to ask them in #other-js-ts
ok! One last thing, is there an easier way to declare the commandHandler.js, events.js and shashCommand.js folders in the index and have it read correctly?
well, the guide has actually a nice event handler that you can adapt, if you place all your event files inside the same folder you shouldn't really have to do anything too complicated
discord.js Guide
Imagine a guide... that explores the many possibilities for your discord.js bot.
Ok! Thanks for all
Wait i think i misunderstood you
Explicame que es lo que necesitas
Español?
A ver te comento
Me han dado un bot para unificarlo
Es decir, 3 bots
Pero el bot principal donde habia que meter todo esta fatal
La estructura de los Handlers para leer los comandos y demas es que ni la entendia
Hm... unir 3 bots en un mismo proyecto no es muy buena idea...
Ya
Se lo dije
Pero bueno
Y eso
Llevo 2 dias haciendo esto jajaja
Y al final no se a que recurrir
Si, se te va a complicar un montón hacer eso, no creo que valga la pena, es mejor tener los 3 bots separados. Alguna razón de por qué tienen que estar los 3 en un mismo archivo? O también podrias simplemente unir todos los comandos y handlers de los bots en uno solo, es eso lo que quieres hacer?
A ver
Mi idea es
Mira te explico
Un bot es para crear facturas de PayPal
Y el otro es de feedback
El de feedback lo he vuelto a reescribir
Porque el que tenia no funcionaba con este bot
Pero el problema esta
En que esos 2 comandos que he añadido
No los lee
Es decir, a la hora de ejecutar el / no lo lee
Por eso habia pensado en volver a hacer el handler
Porque fijate en esto:
Es lo que tenia el bot
Pero para leer las slash
Lo unico que tenia era algo llamada interactionCreate
Y yo ese codigo la verdad ni lo entiendo demasiado
Hm...
Es bastante complejo
Se podria hostear 3 bots en un mismo host?
Porque en ese caso que haga los 3 por separado
Es que al final me esta complicando mucho a mi
Si el host te permite abrir 3 consolas distintas entonces si, igual puedes tener un script en bash o algo que lance los 3 bots
La idea de unificarlo la descarto verdad?
la parte que no entiendo es la de que no te lee los archivos de los comandos, eso debe ser problema de la ruta que estás leyendo, es dificil de decir por que no puedo ver la estructura del proyecto
Esto es
Simplemente
Pero es que este bot me lleva dando problemas desde el principio
Y ya estoy descentrado
okay a ver, si entiendo bien, todos estos comandos son los comandos de los otros bots juntos en el mismo proyecto, cierto?
En este proyecto
Solo añadi 2 comandos
Pero si
Entendiste bien
Lo demas estaba todo ya hecho
ok y entonces el problema que estas teniendo ahora es que hay comandos / eventos que no estan siendo cargados de manera correcta en tu handler
Solo añadi el: opinion.js, meme.js, encuesta.js y lo de paypal.js
Si algo asi
Es decir
El bot los crea
Tu puedes usarlo
Pero a la hora de accionarse
Ejemeplo:
/opinon text: hola desc:hola
Pero luego el mensaje no envia
Porque no lo lee
te lanza la interacción ha fallado o algo?
Me lo lanza en forma de este codigo:
te responde que el comando no existe entonces
Si
Ok mira, uh... lo que vas a tener que hacer es, toma uno de los comandos que sirven, y comparalo con el que no
vas a tener que corregirlos. Y además asegurate de que los comandos tengan el nombre que aparece en el cliente de Discord y que concuerde con el nombre que tiene en el data: del archivo
ejemplo, si el comando es /opinion, ve que el archivo que maneja este comando tenga bien el nombre tambien
data: new SlashCommandBuilder().setName('opinion')
por ejemploPuede ser que en los que funciona haya algo que haga ajecutarlo verdad?
Ya eso si lo hice jajaja
va a depender de como los hicieron pero por ejemplo en tu interactionCreate, tu haces
commando.run()
puede que algunos tengan un execute
en vez de un run
peeeeero, te digo lo del nombre por que si el bot te está respondiendo que no encontró el comando, es por que no lo cargó en la colección de comandosPufff
Por eso no me gusta hacer este tipo de cosas
mira lo que también puedes hacer es ir al eventhandler y poner un console.log entre medio para ver que archivos se están cargando
Modificar tantos comandos y cosas a la vez
Porque cada programador tiene sus metodos
Vale, voy a ver
y en el else debajo del const event pon un console.log(event.name) y lanza el bot, veamos que sale por ahi
He vuelto a poner el command.js que tenia el bot
A ver que pasa
Lo puedo meter ahi debajo no?
De echo
Ya esta puesto
Fijate
Es curioso
Que el comando opinar.js carga
Pero despues no me funciona
ok
echemosle un vistazo a opinar.js entonces
manda
async execute(interaction) {
cambia ese excute por run
tienes que hacer eso en todos los comandosVoy a probarlo
y lo otro, tambien te dije que te fijaras en el nombre de los comandos, este se llama opinar, y en el ejemplo usaste opinion
por eso revisalos tambien
o actualizalos en la api con el script para publicar los slash
Ejemplo?
Que ejemplo
este
Aaaa
Me equivoque
Que funcion uso ahi?
Esa esta bien no?
ta bien, pero igual deberias revisar por lo que te habia dicho antes, el
if
te dice que el comando no lo encontró en la colección entonces Okey
Igual muchas gracias!
La verdad me ayudaste bastante jajaja
el problema lo tienes aqui
estas pasando
(client, interaction)
al comando, y el comando solamente recibe un argumento que es la interacción
asi que también tendrás que regularizar eso en todos los comandos
no es necesario que les pases el client, puedes sacar el client desde la misma interacción interaction.client
Quito de ahi el options.getString?
No
ese no es el problema
Entonces donde he indicado eso en el codigo?
en interactionCreate
Aaaaa
Aqui:
command.run(client, interaction)
tienes dos opciones, o cambias todos los comandos para que reciban dos argumentos: client, interaction, o cambias el command.run para que solo pase interaction a los comandosPuedo adaptar mi script opinar.js directamente para no estar cambiando todo?
si puedes la verdad
simplemente añadele otro argumento
run(client, interaction)
debería bastarSe lo añado a interactionCreate?
Perdon, es que ahora mismo estoy un poco perdido
a ver, tranquilo
no cambies nada en el interactionCreate
solo cambia eso en el comando opinar
y prueba a ver si ahora te responde el comando
Unknown User•15mo ago
Message Not Public
Sign In & Join Server To View
Me confundi
lo que Godder dijo, tu función tiene que ser async. Para que lo borraste
Perdon
No. Te fuiste por el lado equivocado eso no lo tenias que cambiar
te dije que cambiaras esto
async execute(interaction) {
por async run(client, interaction)
eso era básicamente todo lo que tenias que cambiarFunciona!
Muchisimas Gracias de verdad!
todo bien
si no tienes más preguntas, eres libre de cerrar el post. Igual como te dije antes, para preguntas generales que no tienen mucho que ver con la libreria usa #other-js-ts
(y procura hacerlo en inglés)
esto de ayudarte en español fue una excepción que yo tampoco debería hacer