• /rod init
    Used to setup the server and make sure it's in the RoD database.
  • /rod serverinfo
    Prints out your channel id and server id which can be useful in debugging, though if you need debugging, it probably won't work.
  • /rod setescape {char}
    Sets escape character to the new value. Must be one character, and must be from ! | / \ + - $ % ^ & * , . < > : ;. Admin commands like this (/rod xxx), will be available regardless of your escape character.
  • /rod resetescape
    Sets your escape character back to /
  • /webhooks
    Admin-only: Ensures that you have two active webhooks in the current channel, meaning you can use NPC aliasing. You should run this in every channel you use Rod.
    Note: This is no longer required, but I'm leaving the command to use for debugging purposes.


  • /roll {dice command|saved-key}
    Rolls a dice command or saved key. Check here for more details about the types of rolls you can do.
  • /saveroll {saved-key} {dice command}
    Saves a roll for later use. This is server specific.
  • /remroll {saved-key}
    Removes a saved roll.
  • /listrolls
    Lists your saved rolls.
  • /clearrolls
    Deletes all your saved rolls.


  • /tableroll {tablename} (alias: /rolltable)
    Rolls from a pre-loaded table that was loaded with /loadtable. A good example would be the wild magic table. Can also be iterated like a normal roll: /tableroll [3] wildmagic
  • /loadtable {tablename} {url-to-csv?} (alias: /savetable)
    NOTE: This no longer works with google sheets urls!
    Admin-only: Save a csv file table for rolling by anyone on the server. Should be two columns with headers (which will be ignored), and then the first column is the weight of the roll (default: 1), and the second column is the result. You can either pass in the url to the CSV or upload it directly to discord and put the command in the comment. Ex:
    CSV Export Discord Upload
  • /listtables
    Admin-only: Lists the tables you saved and the amount of rows they have.
  • /showtable {tablename}
    Admin-only: Lists the table data of the table in question. Will break into as many required messages as needed to get around the 2000 char Discord limits.
  • /remtable {tablename}
    Admin-only: Removes a table from your list.

NPC Aliasing

  • /addnpc {key} {displayName} {avatarURL?}
    Admin-only: Create an npc. The displayName should be surrounded by quotes " if it has a space in it. Avatar optional, will use a generic blank head if not supplied. Ex: /addnpc rod "Rod of Discord"
    NOTE: For avatar URLs, please link directly to images, and keep the size under 500x500px.
  • /editnpc {key} {displayName} {avatarURL?}
    Admin-only: Edit an npc. Name is required, avatar optional. Exactly the same syntax as /addnpc but a different command so you don't accidently overwrite old npcs.
  • /remnpc {key}
    Admin-only: Remove an npc. This will not affect any chat already spoken by them.
  • /listnpcs
    Admin-only: Lists all npcs and who you've granted rights to use them. Use only in DM channels to avoid spoilers!
  • /grantnpc {key} {@mention}
    Admin-only: Lets the user mentioned use the npc specified.
  • /remgrantnpc {key} {@mention}
    Admin-only: Remove a user's right to use an npc.
  • /npc {key} {chat text}
    Speak as a saved npc. You can also roll or perform other commands as this npc: /npc bob /roll 1d20 + 5 # stealth check
  • /rollfor {Name} {dice command}
    Generic rolling for monsters or characters that aren't worth generating an npc, but you want to appear under their name. A d20 icon is used as the avatar.
  • /setalias {key|off}
    Set all further chat as a specific npc. Use parentheses around your chat to bypass. Set to off to disable.
  • /setchannelalias {key|off|auto}
    Set all further chat in this channel to use a specific npc. Overrides the value from /setalias. A value of off will use no alias, while auto will use the value from your /setalias (as if there was no channel setting).
  • /alias
    Returns information about your current alias and how you would post if you did so in the current channel.
  • /resetalias
    Sets your server alias as off and changes each channel alias to auto.
  • /edit {chat text}
    Replace the chat text in your last aliased message (if it's the last message in the channel). This will not affect any rolls attached.
  • /delete
    Delete the last chat message if you were the author. This will not delete a message with a roll in it (to discourage cheating). Admins can still delete whatever they want with the Discord tools.

Initiative / Turn Management

  • /callfor {Title} {chat text w/ @mentions and +NPCs}
    Admin-only: Call for a group of rolls from @mentioned users, @roles, and +npcs. (ex. /callfor Initiative Roll initiative team! @Party +Goblins).
  • /calladd {@mentions and +NPCs}
    Admin-only: Add @mentioned users, @roles, or +npcs to the /callfor if you forgot when you initially made it.
  • /callrefresh
    Admin-only: If any chat has occurred since the /callfor, this will just move it to the bottom.
  • /calllog
    Admin-only: List each roll that went into the /callfor and who made it.
  • /calldone
    Admin-only: End the /callfor and display the results.
  • /done
    Sets up a temporary message letting the DM know that you are done with your turn. It will disappear as soon as an admin (the DM) posts a message.
  • /ping {message w/ @mentions}
    Sets up a temporary message alerting people they need to do something, and it will be deleted as soon as any of the mentioned post a message.
  • /turn {?@mention}
    A convienent alias for /ping It is your turn @mention!. If there's no mention, it will be /ping It is time for the next turn!
  • /clearpings {?@mention}
    Clears all pings that mention @mention if included, or all of the ones in the current channel otherwise. Useful if you accidently ping someone that quits or is a bot.

Avrae Integration

  • /bindnpc {key?}
    Binds your currently loaded Avrae character (!char) to either the npc named with key or if not provided, the npc you are currently aliased as. Anyone with the ability to speak as that npc can bind a character sheet to them.
  • /updatebind
    Updates the bind of your current npc. For instance, if you were using DNDBeyond, then at level up, you level up in DND Beyond, type !update to update your Avrae character, and then type /updatebind to update the npc.
  • /attacks
    Lists the attacks that were loaded in from your Avrae sheet onto this npc. Must be used while aliased as an npc.
  • /attack {attack-name}
    Rolls the attack from your attacks list, e.g. "longsword".
  • /check {skill-name}
    Roll a check for the skill provided, e.g. "stealth" or "strength".
  • /cast {spell} {level?}
    Casts the spell, applying your spell attack bonus and save dc wherever applicable, updating cantrip damage based on level. If a casting level is provided that is higher than the spell's level, the scaling effects of that spell will be applied. Cast does not check that your character has access to the spell you send it, and will not update your avrae spell slots.


  • /vote {Title} {chat text w/ emoji answers}
    Admin-only: Have your players vote on an issue using emoji reactions. Put inside double brackets [[emoji emoji]] to have them removed from the chat text. I thought this would be useful, but to my knowledge, no one uses it. It's still here though.
  • /votedone
    Admin-only: End the vote.