This is a discord bot designed to play a medieval logic game called Obligiations, functioning as the positor while you affirm or deny the statements that it generates. Written in Python, this project uses the Discord API bindings from discordpy, and uses Microsoft's logic solver library z3
- Have
uvpython project manager installed in your environment. - Create a
.envfile with the variableDISCORD_BOT_TOKENset to the application token for your discord bot account If you do not already have a bot created, you must create one yourself. - Run
uv run src/main.py. (First time, this will install python and all dependencies in your project environment.)
Option A: Manually
- Install uv, a python project manager.
- Run
uv syncto automatically install BOTHpythonand all dependencies. (uvautomatically creates a Python VENV for you.)
Option B: The Nix Way :)
- Have
nixinstalled, with flakes enabled. - Also optionally enable .direnv,
- OR run
nix develop --no-pure-eval