All exceptions, if not caught, are unconditionally sent to `sys.stderr`. We only need to use our own custom class with some modifications and we can intercept all errors, even those in threads (which #151 was about). The only real downside from this practice is that `cli` is not accessible to us when the errors happen, so I used a hack to set it on an instance variable. If anyone can find a better solution, please step forward. For the time being, this will have to do. If for some obscure reason this class breaks, `sys.__stderr__` holds the original `sys.stderr` |
||
---|---|---|
oyoyo | ||
src | ||
.gitignore | ||
.mailmap | ||
botconfig.py.example | ||
CONTRIBUTING.md | ||
LICENSE | ||
README.md | ||
wolfbot.py |
This is the Werewolf game bot for ##werewolf on freenode. It's a fork of lycanthrope, which was the last bot used in #wolfgame before it died.
We have an active community, and we'd love for you to join us!
Running your own copy
You need Python 3.2 or newer to run the bot.
Copy botconfig.py.example
to botconfig.py
and modify the settings as needed. You can also copy-paste individual settings from src/settings.py
into botconfig.py
if you want to modify them.
To start the bot, run ./wolfbot.py
. You can use --verbose
to log all raw IRC messages and --debug
to enable some debugging features. These options should not be used in production.