Skip to content

PythonistaGuild/Pythonista-Bot

This branch is 1 commit ahead of main.

Folders and files

NameName
Last commit message
Last commit date
Feb 1, 2025
May 20, 2024
Dec 27, 2024
Dec 27, 2024
Jun 3, 2023
Dec 27, 2024
Jan 6, 2025
Sep 5, 2024
Jul 23, 2023
Dec 27, 2024
Jun 3, 2023
Feb 1, 2025
Jun 3, 2023
Feb 1, 2025
May 31, 2023
Oct 21, 2023
Sep 5, 2024
Feb 1, 2025
Dec 27, 2024
Feb 1, 2025
Feb 1, 2025

Repository files navigation

Pythonista-Bot

Primary Discord Bot for the Pythonista Guild!

Setup Requirements

  • Python 3.11+
  • PostgreSQL 15+

You must make a valid copy of the config file named config.toml, fill in the blanks, and then...

Optional

  • 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.

Running the bot

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).

Docker

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...)

Notes

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

Support

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:-