gizmo385 / discord.clj

A Clojure library for creating Discord bots
MIT License
45 stars 14 forks source link

Bot Interface Consolidation #9

Closed gizmo385 closed 5 years ago

gizmo385 commented 5 years ago

Previously, there were several different ways to launch the bot, but this change conslidates all of those options down into a bot/start command. Additionally, all extension will need to be maintained in separate files and are loaded on startup based on the folder supplied in the configurations.

This change allows updates how extensions are loaded into the bot, making use of the atomic storage that was used for retrieving help information inside of the generated client handler that dispatches incoming messages out to extensions.

Having a single source of truth for what extensions are loaded also allows us to introduce a new feature: being able to call !reload (as an admin) and have it reload all of the extension folders listed in the config to reload the extensions. This makes development much smoother as you no longer have to spin up and spin down the server while you're iterating on a new extension.

gizmo385 commented 5 years ago

The documentation changes here also address #7.