Primary Discord Bot for the Pythonista Guild!
- Python 3.11+
- PostgreSQL 15+
You must make a valid copy of the config file named config.toml
, fill in the blanks, and then...
- Docker / Snekbox capability
This will allow for public evals. To disable the functionality entirely, ensure the
[SNEKBOX]
key is not present in the config file.
In the future we'll provide a systemd unit, pm2 config and maybe a Dockerfile for running the bot, but for now you can use your ideal terminal and:-
python -O launcher.py
(we run with python -O
because we use assert
for type checking purposes).
We also provide both Dockerfile
and docker-compose.yml
files for running the bot in Docker.
The default compose file assumes you want snekbox too, however you can comment out or remove that entire key if this is not the case.
Make a copy of .template.env
and name it to .env
, edit the values as you see fit (the defaults will work too, and be okay so long as you don't expose this database to the internet).
Then a simple docker compose up
will bring your bot up!
NOTE: If you want to enable the snekbox service for sandboxed open eval, do:
docker compose --profile snekbox up
which will enable all services and snekbox.
(or docker-compose
if you are not on the latest versions...)
This also means that it will use internal docker networking to resolve the database and snekbox names. By default these will be database
and snekbox
, but these will be the service names in docker-compose.yml
if you change them. Please keep this in mind when editing your config file.
We also provide a file for ignoring git blame references. You can enable this with:-
git config blame.ignoreRevsFile .git-blame-ignore-revs
As this bot is not really designed for use outside of our Guild, support provided will be very limited. But if you wish to chat to us, feel free to open a discussion, an issue or even a PR (for fixes and whatnot)!
Or chat to us on discord:-