This sets up a set of ropes and pulleys that signal the `Bot.keepalive`
function to clean things up after a quit signal has been sent. This
allows plugins to define an `on_unload` function to save any important
datas on intentional exit.
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
This is beneficial for all plugins so the bot doesn't accidentally
spam things because the plugin writer didn't check their inputs
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
For some reason, async-timeout needs to be specifically marked as >=4
when using the aiohttp package.
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
aiohttp has a weird issue when installing with pipenv. A workaround is
added in the README.md to at least cover that case when it comes time to
deploy on a real server.
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>