- Move the config comments to botconfig.py.example where they will be more useful, and move the bits in settings.py near the other IRC-related settings. - Removed support for hash types that aren't SHA-256 as we perform all the hashing on our end (doesn't matter what the server does or does not support), and this greatly simplifies the code while leaving things secure enough. - Hardcode a default cipher suite according to mozilla modern standards, as the builtin ciphersuite in python may be less secure for older python versions. - Add support for EXTERNAL auth in SASL, if a client certificate is provided. If this fails, it will fall back to PLAIN auth (to account for the case where a cert is added to the bot, but has not yet been added to NickServ, so that the bot can connect and add it to NickServ via !fsend) - Redact passwords from console/log output so that asking people to pastebin their --verbose output when reporting issues in #lykos is less fraught with peril.
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.3 or newer to run the bot. Python 3.4 and higher is recommended.
SQLite3 is required for the bot's database. If compiling Python from source, you may need to install the appropriate SQLite3 development libraries for your distribution first.
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. You may also add or customize your own game modes by renaming gamemodes.py.example
to gamemodes.py
and using the same layout used in src/gamemodes.py
.
Note: you should never alter files under the src
folder directly (unless you are submitting a change to the code), use botconfig.py
and gamemodes.py
for related changes.
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.