avrae

Build Status Codacy Badge

Avrae is a bot to facilitate running Dungeons & Dragons 5e online over Discord.

You can join the Avrae Development Discord here!

Contributing

How to run Avrae locally

Using Docker (Recommended)

Check out docker/readme.md.

Building Manually

OS Requirements

Avrae runs best on Ubuntu 16.04.4, but should be fully compatible with any UNIX-based system. It is possible to run Avrae on Windows, but is not recommended.

Creating Support Files

Avrae is a large project, and can be a bit daunting to get running. You'll need to create a few files first.

Credentials

credentials.py should include, at the very least, variables as such:

You'll also need to create a Google Drive Service Account. You can find instructions on how to do this here. Follow steps 1-3 in the Signed Credentials portion. Rename the JSON avrae-google.json and put it in the project root.

Actually Running Avrae
Redis

You will need to run a Redis instance to serve as a high-performance cache. Download Redis 4.0 and run a redis server locally before launching Avrae.

MongoDB

You will also need to run a MongoDB instance to serve as Avrae's database.

Avrae

To actually run Avrae, you need Python version >= 3.8.0. First, install the dependencies with pip install -r requirements.txt.

Testing

To test Avrae, run these commands:

docker-compose -f docker-compose.test.yml -p avrae build
docker-compose -f docker-compose.test.yml -p avrae up -d
docker logs -f avrae_tests_1

This should initialize an ephemeral database to run command unit tests in. You should set the DICECLOUD_USER, DICECLOUD_PASS, DICECLOUD_TOKEN, and GOOGLE_SERVICE_ACCOUNT env vars to their correct values.

Misc

Env vars required to deploy to production:

Other env vars: