- bot.js is the starting point of the application (commonly index.js or main.js in others)
- This bot uses a command handler based on this Advanced Command Handler (also a great channel if you want to learn Discord.js)
- All commands are stored in the commands folder in their respective subfolder
- Commands commonly interact with systems in the root folder such as add-custom-command.js (in the commands folder) interacting with custom-commands.js
- Most important constants are stored in config.json
- Database schemas are all in the schema folder
- bot.js initializes all services
- load-commands.js loads in all the commands from the commands folder (again, there is a great tutorial on this command handler)
- command-base.js and custom-commands.js are the two primary listeners that listen to commands
- Commands are called and executed as needed
- A lot of commands are handled in the command file, but others (such as add-custom-command.js) call external services to retrieve information
- Some services such as polling-system.js and message-pin.js have an ongoing update loop or their own listener for certain events (these function independently)