Accessing handle functions globally.
I've been working on creating a Discord boilerplate for myself. One of my goals was to develop a handler function capable of producing a captcha SVG file. This function would not only return the file's location but also the content of the captcha. This could be used for verification and other similar tasks.
However, I've discovered a limitation: the handler function can only be used within the index.js file. It seems that this restriction is due to how I've set up the handler registration process in the index.js file. You can find the progress of my boilerplate in this GitHub repository: Github Repo
Here's the code snippet where I register the handlers:
This registration method limits the usage of handler functions. For instance, I'm able to use the GenerateCaptcha function from generateCaptchaHandler.js in the main.js file. However, I'm unable to employ it in a command.js file due to the registration constraints.
I'm a bit uncertain about the approach to enable the handler files for usage throughout the entire program structure. If there are any suggestions or ideas from anyone, I would greatly appreciate the assistance.
GitHub
GitHub - KiraKenjiro/DiscordBotBoilerplate
Contribute to KiraKenjiro/DiscordBotBoilerplate development by creating an account on GitHub.
5 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!Node Version: v18.17.0
Discord.js Version: 14.13.0
You should basically have these functions in a separate file,
handlers.js
or whatever, and export them
Import it into anywhere else you need it
Im not sure I understand why you've had to register them to an array though
You could create a handlers/index.js
that exports them all as a single item
It's just be being specific. I suppose it's my way of being organised,
It's just so i can know. I need this to do this, Oh i have a handler for that let me just call it from
response = handlers.CaptchaGenerator.GenerateCaptcha();
It's just me being organised basically pff
that is true!
I do kinda want to load them dynamically.
but that is a fair point, if i have a file that loads them and just load that into any file i want the handlers to be in yeah that would work
I think i understand how it all works now, thanks man <3
yeah, just modularise your array too so it sits outside index
Load it however youd like