Avrae is a bot to facilitate running Dungeons & Dragons 5e online over Discord.
You can join the Avrae Development Discord here!
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.
Avrae is a large project, and can be a bit daunting to get running. You'll need to create a few files first.
credentials.py
should include, at the very least, variables as such:
officialToken
- Empty string.owner_id
- The Discord User ID of the bot owner (you, if testing).test_redis_url
- The URI of a Redis cache (e.g.redis://localhost:6379/0
)test_mongo_url
- The URI of a MongoDB instance. (e.g.mongodb://localhost:27017
)testToken
- A valid Discord Bot token.test_dicecloud_user
- A Dicecloud username.test_dicecloud_pass
- The Dicecloud password of the Dicecloud user.test_dicecloud_token
- A Dicecloud API token.
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.
After creating the credential files, you'll have to create a few files so that Lookup doesn't break:
res/backgrounds.json
*res/bestiary.json
*res/classes.json
*res/classfeats.json
*res/conditions.json
res/feats.json
res/itemprops.json
(should be{}
)res/items.json
*res/names.json
*res/races.json
*res/rules.json
res/spells.json
*
These files (except for itemprops) should just contain an empty JSON array ([]
) for testing.
Files marked with a * can be obtained by running the data parsers.
You will need to create a folder named temp
.
You will also need to change the search algorithm used by spell lookup to the standard algorithm.
In cogs5e/lookup.py
, delete line 14 (from cogs5e.funcs.lookup_ml import ml_spell_search
) and
edit line 627
spell = await select_spell_full(ctx, name, srd=srd, search_func=ml_spell_search)
to
spell = await select_spell_full(ctx, name, srd=srd)
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.
You will also need to run a MongoDB instance to serve as Avrae's database.
To actually run Avrae, you need Python version >= 3.6.0 < 3.7.
First, install the dependencies with pip install -r requirements.txt
.
- If running Avrae in unsharded mode (recommended for testing), run
python dbot.py test
. - If running Avrae in sharded mode, run
python dbot.py
.