You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
BuildTools fbed938766 split config-defined plugins and builtin plugins 4 years ago
default_plugins split config-defined plugins and builtin plugins 4 years ago
plugins split config-defined plugins and builtin plugins 4 years ago
.gitignore every single time. 4 years ago
LICENSE Initial commit 4 years ago
README.md update todos 4 years ago
client.py plugins working, send message hacked in 4 years ago
config.json hot reloading and authentication 4 years ago
disc_api.py api stuff werks, client will idle and get events. 4 years ago
grim_logger.py api stuff werks, client will idle and get events. 4 years ago
main.py split config-defined plugins and builtin plugins 4 years ago
plugin_manager.py split config-defined plugins and builtin plugins 4 years ago

README.md

modular-discord-bot-fw

framework for discord bots that uses contained files for individual feature plugins that can be modified and reloaded on the fly

basic structure:

  • client class has implementations for handling opcodes
    • event response is up to the client (!!)
    • this lets us expose events for plugins to hook into, but keeps core API interaction defined in-class
    • any and all bot features should be useable via independent feature plugins
      • these are dynamically found and run, so they can be hotloaded, modified, etc. without disconnecting or restarting the whole bot session

todo before it's basically finished:

  • basic rate limiting
  • plugin manager & hook integration
  • make sure broken sockets are properly addressed with a resume or reconnect
  • default plugins so the bot does something out of the box
    • plugin reloading, user (command) authentication, etc. will also probably be written in plugin form
  • initial presence in config
  • take config as cli param
  • save session config to file