A simple Dungeons and Dragons themed Discord Bot. Named for the famed Volothamp Geddarm of Waterdeep, this bot can roll virtual dice, read an extensive critical hit table, scrape the web for spell descriptions, and much more!
VoloBot will roll the specified number of dice, each with the specified number of sides.
EX: '!roll 3 6' will tell VoloBot to roll 3 6-Sided dice.
VoloBot will take a percentage (1-100) and a type of damage (slashing, bludgeoning, piercing, fire, cold, lightning, force, necrotic, radiant, acid, psychic, thunder), and reply with the corresponding effect from the critical hit table.
Note: Percentages and damage types based on 'Critical_Hit_Table.csv'. Using two letter abbreviations (such as 'bl' instead of 'bludgeoning') are also supported.
EX: '!crit 40 slashing' will send the corresponding effect of a 40% roll with a damage type of 'slashing'.
Search spell descriptions. VoloBot will first check spells.json for locally stored information to improve response time and support homebrew spells. If a spell is not found locally, VoloBot will search for the spell on D&D Beyond.
EX: '!spell fireball' will send the description of spell 'fireball'.
EX: '!spell fireball web' will send the description of spell 'fireball' as found on D&D Beyond, skipping local search.
Add items to VoloBot's virtual inventory.
EX: '!store "health potion" "Restores 2d4 + 2 HP" 2'
List items stored in VoloBot's virtual inventory. Specifying an item will give more information about that item.
EX: '!bag'
Remove items from VoloBot's virtual inventory.
EX: '!remove "health potion" 1'
Check the latency between the sender and VoloBot.
EX: '!ping'
Set VoloBot's Discord activity status, where <activity_type> is one of 'Playing', 'Listening', or 'Watching'.
EX: '!set_activity playing D&D' will set VoloBot's Discord status to 'Playing D&D'.
VoloBot will reply with a random meme.
pip3 install discord.py
pip3 install python-dotenv
pip3 install beautifulsoup4
This module is included with Python 3.9. For versions of Python 3 below 3.9, you can download the module here.