Private Discord bot · D&D 5e, 2024 rules

The dice are
the easy part.

Any bot can roll 1d20. BardicAI adjudicates the turn — attack rolls against real AC, saving throws, damage types checked against resistances, conditions that expire on their own, concentration that breaks when it should. Your server, your table.

BardicAI

Masked construct, chaotic good


  • Rules SRD 5.2.1 — the 2024 rules, and only those
  • Combat Attacks and spells, fully adjudicated
  • Commands 64 slash commands, all documented below
  • Table Private to your server, and the DM screen stays closed

Traits

What it actually does


Six things worth installing it for. Everything here runs on the bot's own rules engine, not on someone at the table remembering to apply the modifier.

A rules engine, not a macro. Attacks, spells, saves, conditions, auras and concentration all resolve mechanically. Resistances and immunities apply themselves, death saves follow RAW down to the automatic failures on a natural 1, and multiattack, grapples and legendary actions are adjudicated rather than narrated.

D&D Beyond, natively. /ddb import pulls the whole sheet — ability scores, HP math, skills, spells, weapons, inventory, portrait. It re-syncs on its own when a player joins initiative with a sheet that changed, and magic item bonuses (a Wand of the War Mage's spell attack bonus) are read from the sheet's own data.

A co-DM that reads the room. /dm is a private assistant that already knows the live encounter: initiative order, current HP, active effects, monster stat blocks. Hand it a monster's turn, ask it a rules question, or let it run legendary actions — the players never see the conversation.

Speak as anyone. /say and /write post in character under the right name and face: any PC with their D&D Beyond portrait, any monster in the fight with its token art, or the Dungeon Master persona. Full Markdown, and a drop-in replacement for Tupperbox.

Dice with a grammar. /roll handles advantage, keep and drop, and exploding dice. /check knows which proficiencies your character actually has. Every result shows the individual dice, labeled by die size, so nobody has to take the bot's word for it.

Campaigns that keep secrets. A campaign binds to one or more channels. Creating one takes Discord's Manage Server permission — the admin who runs it becomes the DM and can deputize co-DMs. Players never see monster defenses, hidden notes, or anything else from behind the screen — the boundary is enforced by the bot everywhere, not remembered command by command.

Multiattack

One bot instead of three


A 5e server usually ends up running a sheets-and-dice bot, a second bot so people can post in character, and a third that just rolls dice. BardicAI covers what your table uses all three for, under one set of slash commands.

Usually Avrae

Sheets, dice and initiative

Import a character from D&D Beyond, roll checks that already know your proficiencies, keep initiative in order. BardicAI does that much, then keeps going: attacks and spells resolve their real effects — damage measured against resistances, conditions that stick and expire, concentration, death saves — instead of leaving the arithmetic to whoever is paying attention. /dm adds a co-DM that knows the encounter.

Usually Tupperbox

Speaking in character

/say and /write post as any PC with their D&D Beyond portrait, any monster in the fight with its token art, or the Dungeon Master. The bot already knows who is in the scene, so there are no proxy tags to register — and nothing has to read your channel to make it work.

Usually a dice bot

Rolling anything else

/roll takes a full grammar — advantage, keep and drop, exploding dice — and shows every die it rolled, labelled by size. /check handles the ones tied to a character. That is one fewer name in the member list.

Consolidation, not parity. This is about the jobs a table actually uses those bots for. If yours leans on Avrae's alias and workshop ecosystem, that is a deep thing of its own and BardicAI makes no attempt to reimplement it.

Actions

How a turn feels


Stick casts Chromatic Orb from a 3rd-level slot and picks acid. One command: /cast spell:Chromatic Orb target:Grick Alpha level:3 damage-type:acid.

The bot rolls the spell attack with the character's real modifier, compares it to the target's AC, rolls the base 3d8 plus 1d8 per slot level above 1st, applies whatever the target resists or ignores, and writes the new hit points down.

Every die is shown. Nothing about the grick's defenses is — the players get the number, the DM gets the reasoning.

Stick

Chromatic Orb — acid

Spell attack d20 [17] + 9 = 26 vs AC 15 — Hit
Damage 30 acid — 3d8 + 1d8 + 1d8 [3, 8, 7, 4, 8]
Result Grick Alpha takes 30 damage — Bloodied

Round 2 · concentration not required

Getting started

Two ways in


Players need about a minute. Opening a table takes about as long.

For players

Join a table


  1. Get into the server

    Your DM adds BardicAI once. If you can see the play channel, you can use it.

  2. Import your character

    Set your D&D Beyond sheet to public, then run /ddb import with the character URL. Stats, HP, skills, spells, weapons, inventory and portrait come across.

  3. Roll initiative

    /join when the fight starts. If you levelled up or changed gear since last session, the sheet syncs on the way in.

  4. Stay in character

    /say posts as your character, portrait and all. /roll and /check handle everything else.

For DMs

Run a table


  1. Invite BardicAI

    Add the bot to the server you play in. Invite link.

  2. Open your campaign

    /bardic campaign create in your play channel (needs Discord's Manage Server permission). You become the DM automatically, and can deputize co-DMs with /bardic dm add.

  3. Add your other channels

    Play across several channels? Bind each one to the campaign with /bardic.

  4. Start the fight

    /encounter opens initiative and pins the tracker. Your players /join, and you are running combat.

Reference

Every command


Every slash command BardicAI answers to, exactly as it appears in Discord.

Getting Started

/bardic 🔗

Configure campaigns and who the DMs are (admins only).

/bardic dm add

Grant DM privileges to a user or role.

  • user The user to make a DM.
  • role A role whose members are DMs.
/bardic dm remove

Revoke DM privileges from a user or role.

  • user The user to remove.
  • role The role to remove.
/bardic dm list

List the DMs for this channel's campaign.

/bardic campaign create

Create a campaign and bind it to this channel.

  • name required The campaign's name.
/bardic campaign bind

Bind a channel to a campaign (several channels can share one campaign).

  • channel The channel to bind (defaults to this one).
  • name Which campaign to bind to (pick from the list).
/bardic campaign list

List this server's campaigns.

/bardic campaign info

Show which campaign is bound to this channel, and its DMs.

/bardic campaign add

Put an existing character on this channel's campaign.

  • character required The character to add (pick from the list).
/bardic campaign remove

Take a character off this channel's campaign (the character is kept).

  • character required The character to remove (pick from the list).
/bardic campaign delete

Delete this channel's campaign (asks for confirmation).

/help 🔗

Show Bardic help and available commands

  • topic A how-it-works guide for one command (leave blank for the command list)/poll — How polls work · /schedule — Scheduling the next session

/timezone 🔗

See or set the time zone used to read times you type (polls, scheduling)

  • zone A zone like America/New_York or Europe/London (leave blank to see the current setting)
  • server Set the SERVER's default zone instead of your own (DMs and admins)

Characters & Sheets

/character 🔗

Manage your characters

/character list

List your characters in this server

/character set-active

Set your active character

  • character required The character to activate
/character show

Show a character's summary

  • character The character to show (defaults to active)
/character set-ac

Override a character's armor class (e.g. after an import)

  • value required New armor class
  • character The character to update (defaults to active)
/character set-hp

Override a character's maximum HP (e.g. homebrew/custom items the import missed)

  • value required New maximum HP (sets current to match)
  • character The character to update (defaults to active)
/character set-init

Override a character's initiative bonus (and advantage)

  • value required Initiative bonus (e.g. 9)
  • advantage Roll initiative with advantage
  • character The character to update (defaults to active)
/character set-speed

Override a character's walking speed

  • value required Speed in feet (e.g. 40)
  • character The character to update (defaults to active)
/character delete

Delete one of your characters (with confirmation)

  • character required The character to delete
/character create

Quick-create a character (name, class, level, ability scores)

  • name required Character name
  • class required Class (SRD)
  • level Character level (default 1)
  • str Strength score (default 10)
  • dex Dexterity score (default 10)
  • con Constitution score (default 10)
  • int Intelligence score (default 10)
  • wis Wisdom score (default 10)
  • cha Charisma score (default 10)

/coins 🔗

Show your coinpurse, or add/subtract coins (e.g. gp:-100)

  • pp Platinum to add (negative subtracts); none = just show
  • gp Gold to add (negative subtracts); none = just show
  • ep Electrum to add (negative subtracts); none = just show
  • sp Silver to add (negative subtracts); none = just show
  • cp Copper to add (negative subtracts); none = just show
  • mode How to apply the amounts (default: adjust by them)Adjust by the amounts (default) · Set the amounts exactly
  • private Show the result only to you (default: posted in channel)

/ddb 🔗

Import public D&D Beyond characters and link your DDB account

/ddb import

Import a PUBLIC D&D Beyond character into a new Bardic character

  • url required D&D Beyond character link or id (e.g. .../characters/123456789)
/ddb import-spell

Import a spell from a D&D Beyond sheet so the table can cast it

  • spell required A spell on the sheet that isn't in the loaded content yet
  • character DM: import from this player's imported sheet (default: your own)
/ddb link

Link your D&D Beyond account reference (user id or profile URL)

  • account required Your DDB user id or profile URL (no password/token — public info only)
/ddb unlink

Remove your linked D&D Beyond account reference

/ddb update

Re-import your active character from D&D Beyond (no link needed)

  • character DM only: update this player's character instead of your own
/ddb status

Show your linked D&D Beyond account reference

/ddb cleanup

DM only: delete all imported characters in this server (with confirmation)

/pc 🔗

Manage your characters — alias of /character

/pc list

List your characters in this server

/pc set-active

Set your active character

  • character required The character to activate
/pc show

Show a character's summary

  • character The character to show (defaults to active)
/pc set-ac

Override a character's armor class (e.g. after an import)

  • value required New armor class
  • character The character to update (defaults to active)
/pc set-hp

Override a character's maximum HP (e.g. homebrew/custom items the import missed)

  • value required New maximum HP (sets current to match)
  • character The character to update (defaults to active)
/pc set-init

Override a character's initiative bonus (and advantage)

  • value required Initiative bonus (e.g. 9)
  • advantage Roll initiative with advantage
  • character The character to update (defaults to active)
/pc set-speed

Override a character's walking speed

  • value required Speed in feet (e.g. 40)
  • character The character to update (defaults to active)
/pc delete

Delete one of your characters (with confirmation)

  • character required The character to delete
/pc create

Quick-create a character (name, class, level, ability scores)

  • name required Character name
  • class required Class (SRD)
  • level Character level (default 1)
  • str Strength score (default 10)
  • dex Dexterity score (default 10)
  • con Constitution score (default 10)
  • int Intelligence score (default 10)
  • wis Wisdom score (default 10)
  • cha Charisma score (default 10)

/rest 🔗

Take a short or long rest with your active character

/rest short

Take a short rest (spend hit dice)

  • hit-dice Number of hit dice to spend
/rest long

Take a long rest (restore HP, hit dice, and resources)

/sheet 🔗

Show your character's sheet, spells, or inventory

  • character A character to view (defaults to active)
  • section Which view (default: the sheet)Sheet · Spells — known & prepared · Inventory — carried items
  • prepared Spells section: only show prepared spells
  • type Inventory section: filter by item type (weapon, armor, …)

/slots 🔗

View or adjust spell slots (yours; the DM can adjust anyone's)

/slots show

Show current spell slots

  • character DM only: whose slots (defaults to your active character)
/slots restore

Restore (add back) spell slots of a level, up to the maximum

  • level required Slot level (1–9)
  • count How many to restore (default 1)
  • character DM only: whose slots (defaults to your active character)
/slots set

Set the exact number of remaining slots of a level

  • level required Slot level (1–9)
  • count required Remaining slots to set (0 to the max)
  • character DM only: whose slots (defaults to your active character)

/toggle 🔗

View or set your on/off preferences

  • feature Which preference (leave blank to list them all)Heroic Inspiration (auto-use on a miss) · Lucky (Advantage on every attack roll) · Lucky (Disadvantage on attacks against me) · Shield (auto-cast when it stops a hit) · Arcane Deflection (auto-use when it stops a hit) · Shield (stop prompting me) · Silvery Barbs (stop prompting me) · Auto-roll my saving throws · Auto-roll my ability checks · Cutting Words (stop prompting me)
  • state Turn it on or off (leave blank to flip it)

/update 🔗

Re-import your active character from D&D Beyond (same as /ddb update)

  • character DM only: update this player's character instead of your own

Dice & Checks

/check 🔗

Skill or ability check — pick the type, add adv/bardic/+2/dc:15 in with

  • type required The skill or ability to checkAcrobatics · Animal Handling · Arcana · Athletics · Deception · History · Insight · Intimidation · Investigation · Medicine · Nature · Perception · Performance · Persuasion · Religion · Sleight of Hand · Stealth · Survival · Strength (ability) · Dexterity (ability) · Constitution (ability) · Intelligence (ability) · Wisdom (ability) · Charisma (ability)
  • with e.g. adv · dis · bardic · lucky · prof · using:str · +2 · +d4 · dc:15 · label:Hide · private:true

/r 🔗

Quick dice roll — alias of /roll

  • expression required e.g. insight · arcana adv bardic · stealth +2 dc:15 · 2d6+3 · 4d6kh3 · 2d6!
  • advantage Roll the d20 with advantage or disadvantageAdvantage · Disadvantage
  • times Roll it this many times (e.g. 6 for ability scores)
  • label Name the roll (e.g. Perception, Fire damage)
  • private Only you can see the result

/roll 🔗

Roll dice or a check — insight, arcana adv bardic, 2d6+3; house rules: 2d6!, r1, (2d6)*2

  • expression required e.g. insight · arcana adv bardic · stealth +2 dc:15 · 2d6+3 · 4d6kh3 · 2d6!
  • advantage Roll the d20 with advantage or disadvantageAdvantage · Disadvantage
  • times Roll it this many times (e.g. 6 for ability scores)
  • label Name the roll (e.g. Perception, Fire damage)
  • private Only you can see the result

/save 🔗

Roll a saving throw with your active character (or a combatant, DM only)

  • ability required The saving throw abilityStrength · Dexterity · Constitution · Intelligence · Wisdom · Charisma
  • dc Difficulty class to beat (optional)
  • advantage Advantage stateNormal · Advantage · Disadvantage
  • bonus Situational bonus/penalty
  • as Roll as this combatant instead (DM only for others)
  • inspiration Spend your Bardic Inspiration die on this save
  • lucky Lucky: spend a Luck Point for Advantage on this save

Combat

/action 🔗

Show & use a combatant's actions (defaults to whoever's turn it is)

  • combatant DM: whose actions (defaults to whoever's turn it is)

/arm 🔗

Arm a reaction spell to fire automatically while you're away (Silvery Barbs auto-adjudicates)

  • spell required A reaction spell you know — or 'disarm' to clear
  • target Which creature to watch (optional — defaults to any)
  • auto Counterspell only: auto-counter without asking (spends your reaction + level-3 slot)

/attack 🔗

Make a weapon/attack roll with your active character

  • weapon One of your character's own weapons
  • action An attack action of the current combatant (incl. Multiattack)
  • target A combatant to attack (on a monster's turn, jumps to its action picker)
  • bonus Attack bonus (used when no weapon is chosen)
  • target-ac Target's armor class (to resolve hit/miss)
  • advantage Advantage stateNormal · Advantage · Disadvantage
  • cover Target's cover: +2/+5 to its AC (SRD 5.2.1); total = untargetableHalf cover (+2 AC) · Three-quarters cover (+5 AC) · Total cover (can't be targeted)
  • off-turn Off-turn: a reaction or readied attack — spends your Reaction
  • lucky Lucky: spend a Luck Point for Advantage on this attack roll

/bonus 🔗

Show a combatant's available bonus actions and use one

  • combatant DM: which combatant's bonus actions (defaults to whoever's turn it is)

/condition 🔗

Manage conditions on a combatant in the active encounter

/condition add

Apply a condition (defaults to your active character)

  • condition required The condition to applyBlinded · Charmed · Deafened · Frightened · Grappled · Incapacitated · Invisible · Paralyzed · Petrified · Poisoned · Prone · Restrained · Stunned · Unconscious · Exhaustion
  • target The combatant to affect (DM only for others)
  • private Don't announce it — show a dismissable card to you only. A monster's source is named on that card
/condition remove

Remove a condition (defaults to your active character)

  • condition required The condition to remove (or All conditions)All conditions · Blinded · Charmed · Deafened · Frightened · Grappled · Incapacitated · Invisible · Paralyzed · Petrified · Poisoned · Prone · Restrained · Stunned · Unconscious · Exhaustion
  • target The combatant to affect (DM only for others)
  • private Don't announce it — show a dismissable card to you only. A monster's source is named on that card
/condition list

List a combatant's active conditions

  • target The combatant to inspect (defaults to your active character)
  • private Don't announce it — show a dismissable card to you only. A monster's source is named on that card

/cover 🔗

Set a combatant's standing cover (applies to attacks and DEX saves until changed)

  • amount required How much cover (SRD 5.2.1) — or none to clearNone (clear cover) · Half cover (+2 AC & DEX saves) · Three-quarters cover (+5 AC & DEX saves) · Total cover (can't be targeted)
  • as The combatant taking cover (defaults to your character; DM only for others)

/deathsave 🔗

Roll a death saving throw for your active character

  • advantage Advantage stateNormal · Advantage · Disadvantage
  • as DM only: roll it for this character, on their behalf

/dismiss 🔗

Dismiss a summoned creature you control (removes it from the fight)

  • name required The summoned creature's name on the tracker

/distance 🔗

Distance to one combatant or your whole view of the field — or set: to record where someone is

  • to Measure to this combatant (omit for your full view of the field)
  • as Whose eyes — your PC or a summon you control (defaults to your character)
  • set SET feet — with to: that one pair; without it, from the party still together

/hp 🔗

Adjust your active character's (or, as DM, any combatant's) hit points

/hp damage

Take damage

  • amount required Damage taken
  • combatant DM: adjust this combatant instead of your active character
/hp heal

Regain hit points

  • amount required Hit points healed
  • combatant DM: adjust this combatant instead of your active character
/hp temp

Set temporary hit points

  • amount required Temporary HP
  • combatant DM: adjust this combatant instead of your active character
/hp set

Set current hit points directly

  • amount required New current HP
  • combatant DM: adjust this combatant instead of your active character

/initiative 🔗

Roll or set initiative in the active encounter

  • value Set a specific initiative instead of rolling
  • advantage Advantage on the initiative rollNormal · Advantage · Disadvantage

/inspire 🔗

Heroic Inspiration: the DM grants it; a player cashes it in to reroll

/inspire grant

DM: award Heroic Inspiration to a character

  • character required Who earns it (a character in this server)
/inspire use

Cash in your Heroic Inspiration to reroll your most recent d20

/join 🔗

Join the active combat with your active character (alias for /initiative)

  • value Set a specific initiative instead of rolling
  • advantage Advantage on the initiative rollNormal · Advantage · Disadvantage

/map 🔗

The battlefield: melee, formation, elevation, your distances — and any creature's

/move 🔗

Move, dash, disengage, teleport, jump, or fly

/move toward

Move toward a combatant (default: your full Speed)

  • to required Move toward this combatant
  • distance Feet to move (5 minimum, your Speed maximum; default your Speed)
  • who Act as this combatant instead (DM only for others)
/move away

Move away — provokes opportunity attacks from melee you leave

  • distance Feet to move (5 minimum, your Speed maximum; default your Speed)
  • from Move away from this combatant specifically (others unaffected)
  • to Move toward this combatant
  • who Act as this combatant instead (DM only for others)
/move disengage

Disengage action: leave melee with NO opportunity attacks, then move

  • distance Feet to move (5 minimum, your Speed maximum; default your Speed)
  • from Move away from this combatant specifically (others unaffected)
  • to Move toward this combatant
  • who Act as this combatant instead (DM only for others)
/move dash

Dash action on the ground: up to TWICE your Speed (flying? /move fly dash:True)

  • distance Feet to move (5 minimum, twice your Speed maximum; default twice your Speed)
  • from Move away from this combatant specifically (others unaffected)
  • to Move toward this combatant
  • who Act as this combatant instead (DM only for others)
/move teleport

Teleport (Misty Step, Dimension Door…): no opportunity attacks, ignores Speed

  • horizontal Feet to vanish across the ground and reappear (default 30)
  • vertical Feet to reappear higher (positive) or lower (negative) — combine with horizontal
  • from Move away from this combatant specifically (others unaffected)
  • to Move toward this combatant
  • who Act as this combatant instead (DM only for others)
/move jump

Jump toward/away: a jump grant (Jump spell, Springing boots) or a Long Jump — leaving reach provokes

  • to Move toward this combatant
  • from Move away from this combatant specifically (others unaffected)
  • distance Feet to jump (default: as far as your jump reaches)
  • who Act as this combatant instead (DM only for others)
/move fly

Fly: climb, descend, close on or get away from a target (leaving reach provokes)

  • to Move toward this combatant
  • from Move away from this combatant specifically (others unaffected)
  • horizontal Horizontal feet to cover (climb + horizontal share your fly speed)
  • vertical Altitude change in feet (positive climbs, negative descends)
  • who Act as this combatant instead (DM only for others)
  • dash Take the Dash action for this flight (adds your Speed to this turn's movement)
/move land

Come down to the ground (controlled — no damage)

  • who Act as this combatant instead (DM only for others)
/move fall

Fall to the ground from your current height (damage + Prone)

  • who Act as this combatant instead (DM only for others)
/move swap

Trade places with a willing creature within 5 ft

  • with required The creature you're swapping places with
  • who Act as this combatant instead (DM only for others)

/myturn 🔗

Show your character's class features available on your turn

/next 🔗

Advance to the next turn (shorthand for /turn)

/position 🔗

DM: place any combatant anywhere — any distance, any height, no limits

  • who required The combatant to place — or Everyone, with reset
  • to Place them relative to this combatant (alone: right beside it)
  • horizontal EXACT feet from `to` (default: right beside it) — no limit
  • vertical EXACT height above the ground in feet (0 = on the ground)
  • reset Back to the start of combat: no known distances, on the ground (Everyone: the whole map)

/potion 🔗

Drink a potion from your inventory — or feed one to an ally — and apply its effects

  • potion required Which potion (from your inventory)
  • target Who drinks it (default: you). Feeding someone else costs your Action.
  • type Damage type (Potion of Resistance)Acid · Cold · Fire · Force · Lightning · Necrotic · Poison · Psychic · Radiant · Thunder

/previous 🔗

Step back to the previous turn (shorthand for /turn previous:true)

/reaction 🔗

Show a combatant's reactions and use one

  • combatant DM: which combatant's reactions (defaults to whoever's turn it is)

/ready 🔗

Ready an action (spends your Action): declare a trigger, release later with your Reaction

  • trigger required What sets it off — pick a common trigger or type your own
  • spell Ready a spell (1-action casting time): slot and Concentration are spent NOW
  • action What you'll do instead of a spell (Attack, Move, Shove, or anything)
  • level Slot level for the readied spell (defaults to its base level)
  • target The creature it's about — with action:Help, the enemy to distract
  • who Ready for a creature you control — your familiar or summon (default: you)

/request 🔗

DM: request a saving throw or skill check with a public card (trap, hazard, or just because)

  • dc required The DC
  • save Which saving throw (choose this OR skill)Strength · Dexterity · Constitution · Intelligence · Wisdom · Charisma
  • skill Which skill check (choose this OR save)Acrobatics · Animal Handling · Arcana · Athletics · Deception · History · Insight · Intimidation · Investigation · Medicine · Nature · Perception · Performance · Persuasion · Religion · Sleight of Hand · Stealth · Survival
  • damage Save only: damage dice on a failure (e.g. 10d8) — rolled hidden, total shown
  • total Save only: fixed damage total (module value, or your own roll) — skips the dice
  • type Save only: damage type — picks the card's icon and colorAcid · Cold · Fire · Force · Lightning · Necrotic · Poison · Psychic · Radiant · Thunder
  • on-success Save only: what a successful save does (default: half damage)Half damage · No damage
  • who Who must roll (default: Everyone)
  • note Flavor text shown on the card ("Green gas erupts from the floor!")
  • count Skill only: roll it this many times, in order (one per spot searched) — 1–10
  • auto-roll Roll it now for everyone asked — PCs, familiars and summons — off their own sheets

/summon 🔗

Add a creature YOU control to the fight (familiar, steed, summon)

  • creature required The SRD creature it uses as a stat block (Owl, Warhorse, …)
  • name A custom name for it (defaults to "<You>'s <Creature>")

/turn 🔗

Advance to the next turn in the active encounter

  • previous Step back to the previous turn instead

/use 🔗

Use one of your character's class features (spends a use; runs it if automated)

  • feature required The feature to use
  • target A combatant to target (for a damage/heal feature)

/wildshape 🔗

Druid: Bonus Action to become a Beast (or revert), taking on its stat block

/wildshape into

Bonus Action: shape-shift into one of your known Beast forms

  • beast required The beast to become
/wildshape revert

Bonus Action: return to your normal form

Spells & Effects

/aura 🔗

Apply an active aura to a combatant — damage (Spirit Guardians) or healing (Aura of Vitality)

  • target required The combatant in/entering the aura
  • aura Which active aura (defaults to the only one running)

/cast 🔗

Cast a spell and auto-resolve its effects with your active character

  • spell required The spell to cast
  • level Slot level to cast at (for upcasting)
  • target Combatant(s) to apply the spell to — comma-separate several for an area spell
  • off-turn Off-turn: a reaction spell or a readied one — spends your Reaction
  • ignore-slots Cast even with no slot left — the bot still spends a free cast or slot if you have one
  • ritual Cast as a Ritual — 10 minutes longer, no spell slot (Ritual-tagged spells only)
  • paid-by Something the bot can't see pays for this cast (a scroll, a stone's stored levels) — name it
  • ability Ability to choose (Hex, Bestow Curse, Enhance Ability, …)Strength · Dexterity · Constitution · Intelligence · Wisdom · Charisma
  • type Damage type to choose (Sorcerous Burst, Chromatic Orb, …)Acid · Cold · Fire · Force · Lightning · Necrotic · Poison · Psychic · Radiant · Thunder
  • option Spell choice to lock in up-front (Command: approach, drop, flee, grovel, or halt)
  • metamagic Sorcerer: apply a Metamagic option, spending Sorcery PointsCareful Spell (1 SP) · Distant Spell (1 SP) · Empowered Spell (1 SP) · Extended Spell (1 SP) · Heightened Spell (2 SP) · Quickened Spell (2 SP) · Seeking Spell (1 SP) · Subtle Spell (1 SP) · Transmuted Spell (1 SP) · Twinned Spell (1 SP)
  • circle Begin it as a Circle spell with this option — other spellcasters then join (Heroes of Faerûn)Augment · Distribute · Expand · Prolong · Safeguard · Supplant
  • advantage Force the attack-roll state (overrides what the bot derives from conditions)Advantage · Disadvantage · Normal (force flat roll)
  • range Distance to the target — only matters vs prone/unconscious/paralyzed targetsWithin 5 feet · More than 5 feet
  • cover Target's cover (SRD 5.2.1): bonus to its AC and DEX saves; total = untargetableHalf cover (+2 AC & DEX saves) · Three-quarters cover (+5 AC & DEX saves) · Total cover (can't be targeted)
  • as DM only: cast as this player character, on their behalf (their slot, mods, and turn)

/contingency 🔗

Arm a self-target spell to auto-cast on a combat trigger (a light Contingency)

  • spell The spell to auto-cast (self-target, 1 action, level ≤ 5, one you know)
  • trigger When it firesWhen I'm hit by an attack · When I take damage · When I fail a saving throw
  • damage-type For "when I take damage": any, or a specific type (default: any)Any damage · Acid · Cold · Fire · Force · Lightning · Necrotic · Poison · Psychic · Radiant · Thunder
  • clear Clear your armed contingency (refunds the slot it was armed with)
  • as DM only: arm/clear/show this on another character's behalf
  • ignore-slots Arm even with no slot left — the bot still spends a free cast or slot if you have one

/effect 🔗

Manage timed combat effects on a combatant (DM only)

/effect add

Add a timed effect to a combatant

  • target required The combatant to affect
  • name required Effect name (e.g. Hidden, Blessed)
  • duration required Duration in rounds
  • description What the effect does (optional)
/effect remove

Remove an effect from a combatant

  • target required The combatant to affect
  • name required The effect to remove
/effect list

List a combatant's effects (or every combatant's)

  • target The combatant to inspect (defaults to all)

Roleplay & Table Talk

Delete Post context menu

Right-click a message → Apps → Delete Post.

Edit Post context menu

Right-click a message → Apps → Edit Post.

Ping Player context menu

Right-click a message → Apps → Ping Player.

Reply in Character context menu

Right-click a message → Apps → Reply in Character.

/campaign 🔗

Show this channel's campaign — its DM, its characters, and its channels

/note 🔗

Attach a freeform note to a combatant (DM only)

/note set

Set a combatant's note

  • target required The combatant to annotate
  • text required The note text
/note clear

Clear a combatant's note

  • target required The combatant whose note to clear

/poll 🔗

Polls: choice, ranked, score, time → event, loot, safety; anonymous, repeats, media, calendar, CSV

/poll create

Start a poll (a form asks for the question and options)

  • type What kind of poll (default: single choice)Single choice · Multiple choice · Yes / No / Abstain · Time poll · Ranked choice · Approval · Score (1–5) · Party decision · Loot: Need / Greed · Safety check-in
  • anonymous Truly anonymous: nobody, not even the DM, can ever see who voted (permanent)
  • results When the counts show (default: live)Live · After you vote · Secret until close
  • closes-in Deadline: 30m, 6h, 2d — or a time like Fri 7pm (default: no deadline)
  • voters Who is expected to vote (default: the campaign roster here, else the channel)Campaign roster · A role (only its members vote) · Anyone in the channel
  • role The role for voters: role
  • allow-adding Let members add their own options
  • close-when-all-voted Close as soon as every expected voter has voted
  • nudge How to remind people who haven't voted (default: one channel ping)One ping in the channel · A direct message each · Never
  • media An image, audio or video file for the poll
  • media-url …or a public https:// link (image, audio, video, YouTube)
  • native Post a native Discord poll instead (single/multiple choice or yes/no; Discord runs it, untracked)
/poll time

Find a time: everyone marks Yes / If needed / No per slot; the best becomes a server event

  • length How long the session runs: 3h, 2h30m (default 4h)
  • voice Hold it in this voice or stage channel
  • location …or somewhere else: Foundry, Sam's place (default: this channel)
  • quorum Fewest people (Yes + If needed) a slot needs to win
  • closes-in Deadline: 2d, 6h — or a time like Fri 7pm (default: no deadline)
  • anonymous Truly anonymous: nobody, not even the DM, can ever see who answered (permanent)
  • results When the counts show (default: live)Live · After you answer · Secret until close
  • voters Who is expected to answer (default: the campaign roster here, else the channel)Campaign roster · A role (only its members answer) · Anyone in the channel
  • role The role for voters: role
  • close-when-all-voted Close as soon as every expected voter has answered
  • nudge How to remind people who haven't answered (default: one channel ping)One ping in the channel · A direct message each · Never
/poll results

See a poll's results (privately, as far as you're allowed)

  • poll Which poll (default: the newest open one here)
/poll close

Close a poll now and post its results (creator, DM or admin)

  • poll Which poll (default: the newest open one here)
/poll list

This channel's polls

  • include-closed Show closed polls too
/poll media

Add (or remove) a picture, sound or video on a poll or one of its options

  • poll Which poll (default: the newest open one here)
  • option Which option (default: the poll itself)
  • file An image, audio or video file
  • url …or a public https:// link
  • remove Remove the media there instead
/poll export

Download a poll's results as a CSV file (privately, only what you're allowed to see)

  • poll Which poll (default: the newest open one here)
/poll calendar

Subscribe to this server's events in Google, Apple or Outlook Calendar (private link)

  • reset Make a new link; the old one stops working (DMs and admins)
📖 How polls work
Kinds of poll
  • 🔘 Single choice, ☑️ Multiple choice and 👍 Yes / No / Abstain — the everyday polls.
  • 🥇 Ranked choice — rank the options privately; the winner is found by instant runoff, shown round by round.
  • ✅ Approval — tick every option you'd accept. ⭐ Score — rate each option 1–5; the best average wins.
  • 📅 Time poll (/poll time) — everyone marks Yes / If needed / No for each time; the winner becomes a Discord event.
  • 🎲 Party decision — one vote per character, so a player with two PCs votes twice.
  • 💰 Loot: Need / Greed — Need, Greed or Pass per item; Need beats Greed, ties are rolled with a visible d100, and the results suggest who gets what.
  • 🚦 Safety check-in — 🟢 / 🟡 / 🔴, anonymous by default, with an optional anonymous note only the DM reads.
  • Just run /poll create with nothing else and a builder opens: pick the kind, privacy, deadline and extras from menus, then write the question. Prefer typing? Every choice is also a /poll create option (type:, anonymous:, closes-in: …), and typing any of them skips the builder.
  • ⚡ Quick Discord poll — /poll create native:True posts Discord's own built-in poll instead (single, multiple or yes / no; up to 10 answers; 1 hour to 32 days). It isn't anonymous and has none of the extras below — handy for a throwaway question.
Privacy
  • anonymous: is truly anonymous: the bot never stores who voted — not even for the DM — and it can't be switched off later. That's why anonymous polls have no voter list and no "waiting on" reminders.
  • results: chooses when counts show: Live, After you vote, or Secret until close.
Voting and managing
  • Vote with the buttons on the poll card (ranking, scores and time grids open a private picker). Vote again to change your mind.
  • ⚙️ Manage lets anyone change or clear their vote and, when the poll allows it, see who voted or who hasn't yet.
  • The poll's creator, the DM or a server admin also get Edit, Deadline, Add media, Remind, Repeat, Close now and Delete.
  • ➕ Add option appears when allow-adding: is on.
  • closes-in: takes 2d, 6h or a time like Fri 7pm; close-when-all-voted: closes as soon as every expected voter is in. A results card is posted when it closes.
  • Expected voters are the campaign's players by default (or a role, or anyone in the channel); nudge: reminds only the people who haven't voted.
Time polls and events
  • 📅 Any poll whose options are dates is a scheduling poll — Fri 7pm, Sat Nov 8 7pm, or just Sat / Nov 8. No need to remember /poll time: a single-choice, multiple-choice, ranked, approval or score poll of dates puts its clear winner on the Events calendar too. One non-date option ("Can't make it") is fine; if it wins, there's no event.
  • 🕖 Days without a time use the server's usual start time. The first time, the bot asks the creator (⚙️ → Session time, or a button when a day wins) and remembers it from then on.
  • Times you type are read in your time zone (see /timezone) and shown to everyone in their own.
  • When it closes — or a manager presses 🔒 Lock in — the best time becomes a Discord Scheduled Event on the server's Events calendar; tap Interested there. A tie goes to the creator to pick.
  • Reminders go out 24 hours and 1 hour before, to everyone who said they'd come (Yes / If needed, or picked that date) and everyone marked Interested.
  • 🔁 Moved or cancelled in Discord? The bot notices, posts it under the results (pinging the same people), and re-times the reminders.
  • The bot needs the Create Events permission. Without it the poll still closes, and the results say what to turn on, with a 🔁 button to try again.
  • 🖼️ Event cover — the poll's picture becomes the event's cover. ⚙️ → Event cover lets a manager use a different image or none, before or after the event exists. Discord shows covers wide (about 2.5:1, at least 800×320).
Calendars
  • 📥 Add to calendar on the results gives anyone a one-event .ics file for Apple, Outlook or Google Calendar. It carries its own alerts (24 hours and 1 hour before), so your phone reminds you too.
  • 🗓️ Google Calendar is one tap: the button opens Google's add-event page already filled in.
  • If the session moves, the notice has a fresh 📥 copy that replaces the one you added; if it's cancelled, 📥 Remove from calendar marks it cancelled.
  • /poll calendar gives you a private subscribe link to the server's whole Events calendar, kept up to date automatically. Anyone with the link can read it, so share it only with the table.
  • A DM or server admin can run /poll calendar reset:True to make a new link; the old one stops working.
Repeating polls
  • ⚙️ → 🔁 Repeat takes a schedule like weekly Mon 10am, every 2 weeks Fri 7pm or daily 9am; pause, resume or stop it from the same menu.
  • A repeating time poll moves its times forward each week, so a weekly "next session?" always asks about the coming days.
Pictures, sound and video
  • Add media with media: (a file), media-url: (an https link — YouTube works), the form's upload box, or later with /poll media — on the poll or on one option.
  • Images show on the card; audio and video play right in Discord.
Exporting
  • /poll export or ⚙️ → 📄 Export CSV sends you a spreadsheet of a poll's results — only what you're allowed to see. Anonymous polls export totals only; a secret poll exports once it closes.
For the DM
  • Ask /dm to draft a poll — you get a preview and Confirm posts it — or to summarise a poll's results and notes privately.

/say 🔗

Speak in-character: post a message as your character (DMs: any character or NPC).

  • message required What they say (\n = newline).
  • character Who is speaking — defaults to your active character (DM: Dungeon Master). Or any NPC name.
  • file Attach an image or file — posted under the character's identity.

/schedule 🔗

Find a date for the next session — pick days from a menu; the winner goes on the Events calendar

📖 Scheduling the next session
No typing
  • Run /schedule. Pick the days that might work from the menus — everything from a week to about six weeks out, in two lists — then the start time and how long the session runs, and press 📅 Post the poll.
  • ✏️ Question & deadline changes the question, adds a description, or sets when the poll closes. By default it closes the day before the first day you picked.
  • The start time you pick becomes the server's usual one: next time it's already selected, and date polls use it too.
What happens next
  • Everyone marks Yes / If needed / No for each day. When it closes — or you press 🔒 Lock in — the best day goes on the server's Events calendar, with reminders 24 hours and 1 hour before.
  • The results carry 📥 Add to calendar (Apple, Outlook, Google — with its own alerts) and a one-tap 🗓️ Google Calendar button. If the session is moved or cancelled in Discord, everyone who said yes is told, with a fresh copy for their calendar.
  • Need a voice channel, a place, a quorum, or exact times rather than whole days? Use /poll time.

/write 🔗

Speak in-character with a multi-line Markdown editor (headers, quotes, lists…).

  • character Who is speaking — defaults to your active character (DM: Dungeon Master). Or any NPC/monster.

DM Tools

/combat 🔗

Manage combat in this channel (DM only)

/combat start

Start combat in this channel

  • name A name for this combat (auto-generated from the channel if omitted)
  • round-zero Pre-fight prep phase: cast what you'd already have up, no action economy. End with /combat begin
  • spend-slots Round 0 casting spends spell slots, as the strict rules have it (default: free)
/combat begin

End the Round 0 prep phase, roll initiative and start Round 1 (DM only)

/combat show

Show the current combat tracker

  • combatant Show only this combatant (default: everyone)
/combat list

Re-post the tracker at the bottom of the channel (visible to everyone)

  • combatant Show only this combatant (default: everyone)
/combat post

Re-post the tracker at the bottom of the channel (alias of list)

  • combatant Show only this combatant (default: everyone)
/combat add-monster

Add a monster combatant (DM only)

  • monster required The monster to add
  • name Custom display name shown to players (hide the monster's true identity)
  • show-type Also reveal the creature TYPE next to its size (e.g. "Huge Giant" vs just "Huge")
  • count Add this many, auto-numbered (e.g. Wolf 1, Wolf 2)
  • initiative Initiative value (auto-rolled from the monster's DEX if omitted)
  • hidden Hide this combatant from players
/combat remove

Remove any combatant from combat (DM only)

  • target required The combatant to remove
/combat remove-monster

Remove a combatant from combat — alias of /combat remove (DM only)

  • target required The combatant to remove
/combat leave

Take your own character out of this combat

/combat goto

Jump the active turn directly to a combatant (DM only)

  • target required The combatant to jump to
/combat set-initiative

Change a combatant's initiative in this combat (yours; DM: anyone)

  • combatant required Whose initiative to change
  • value required The new initiative value
/combat reset-turn

Give a combatant back its Action, Bonus Action, and Reaction for this turn (DM only)

  • target Whose turn to reset (default: the active combatant)
/combat restore-legendary

Restore legendary actions to a combatant that has them (DM only)

  • target required The legendary creature to restore
  • count How many to restore (default: back to full)
/combat restart

Restart this combat from round 1 (asks to confirm)

  • reroll-initiative Also re-roll everyone's initiative automatically
  • full-heal Also restore everyone to full HP (default: back to their combat-start HP)
  • round-zero Restart into the Round 0 prep phase instead of round 1. Initiative is rolled by /combat begin
  • spend-slots With round-zero: prep casting spends spell slots, as the strict rules have it (default: free)
  • restore-slots Also refill every caster's spell slots to full (default: back to their combat-start slots)
  • keep-initiative With round-zero: keep the current initiative order — /combat begin opens round 1 in it, no roll
/combat reactions

Whether a monster's protective Reaction fires or asks you first (DM only)

  • mode required auto: the creature reacts · ask: prompt the DM firstauto — the creature reacts (recommended) · ask — prompt me first
/combat end

End combat

/dm 🔗

Ask the AI DM assistant to narrate or adjudicate (DM only).

  • prompt required What you want to happen, e.g. "the goblin attacks the fighter for 5 damage"

/homebrew 🔗

Create and manage campaign homebrew content (DM only).

/homebrew create-spell

Author a homebrew spell by pasting its JSON.

/homebrew create-item

Author a homebrew magic item by pasting its JSON.

/homebrew create-monster

Author a homebrew monster: paste its JSON, or its printed stat block.

/homebrew list

List this campaign's homebrew content.

/homebrew delete

Delete a homebrew item by slug.

  • slug required The slug of the homebrew item to delete.

/rolls 🔗

Show the recent dice rolls in this channel (DM only)

  • limit How many to show (default 15, max 40)

/spelltest 🔗

DM: simulate a character casting a spell at an SRD monster — stateless, nothing is spent.

  • character required The caster — any character in this server.
  • spell required A spell from that character's spellbook.
  • target required The monster to test against (SRD or homebrew pack).
  • level Slot level to simulate casting at (defaults to the spell's level).
  • type Damage type to choose (Sorcerous Burst, Chromatic Orb, …)Acid · Cold · Fire · Force · Lightning · Necrotic · Poison · Psychic · Radiant · Thunder
  • ability Ability to choose (Hex, Enhance Ability, …)Strength · Dexterity · Constitution · Intelligence · Wisdom · Charisma
  • advantage Roll spell attacks with advantage/disadvantage in the simulationAdvantage · Disadvantage · Normal (force flat roll)
  • cover Target's cover (SRD 5.2.1): bonus to its AC and DEX saves; total = untargetableHalf cover (+2 AC & DEX saves) · Three-quarters cover (+5 AC & DEX saves) · Total cover (can't be targeted)
  • public Post the result publicly instead of only to you.

Content & Reference

/content 🔗

Import and manage uploaded content packs (DM only).

/content import

Import a JSON content pack from a file attachment or an https URL.

  • file The .json content pack to import.
  • url https URL of a raw .json content pack (a gist raw link, S3, …).
  • scope Install for this campaign (default) or the whole server.This campaign · This server
/content list

List installed content packs.

/content remove

Remove an installed content pack and all of its items.

  • pack required The pack id to remove (see /content list).

/lookup 🔗

Look up an SRD spell, monster, rule, class, feat, and more

/lookup spell

Look up an SRD spell

  • name required The spell to look up
  • public Show the result to everyone (default: only you)
/lookup monster

Look up an SRD monster stat block

  • name required The monster to look up
  • public Show the result to everyone (default: only you)
/lookup rule

Look up a rules-glossary entry

  • name required The rule to look up
  • public Show the result to everyone (default: only you)
/lookup race

Look up a playable race's traits

  • name required The race to look up
  • public Show the result to everyone (default: only you)
/lookup class

Look up a class's proficiencies and hit die

  • name required The class to look up
  • public Show the result to everyone (default: only you)
/lookup subclass

Look up a subclass

  • name required The subclass to look up
  • public Show the result to everyone (default: only you)
/lookup feat

Look up a feat

  • name required The feat to look up
  • public Show the result to everyone (default: only you)
/lookup background

Look up a background

  • name required The background to look up
  • public Show the result to everyone (default: only you)
/lookup feature

Look up a class or racial feature

  • name required The feature to look up
  • public Show the result to everyone (default: only you)