• .rod debug
    Does a series of tests to determine if your current channel is set up correctly for Rod. You should see the numbers 1-4.
  • .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 .
  • .rod addignore {char}
    Adds a character to be ignored by Rod if a message starts with it. For example, if you set .rod addignore ~ then type ~ this is out of character, then that text will be not picked up by aliasing or anything else in Rod. If you use Rod with another bot like Avrae, it's a good idea to add that bot's escape character to your ignore list.
  • .rod remignore {char}
    Removes an ignore character from the list.
  • .rod listignore
    Lists all current ignore characters.
  • .rod clearignore
    Clears the entire list of ignore characters.

NOTE: The rod subset of commands are always reachable by /rod command, so if you accidently set your escape character to something that won't work, or ignored your escape character, you can still use /rod setescape and /rod clearignore to fix your server.


  • .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


Creating and editing Aliases can be done by anyone with the discord permission admin. You can also assign the discord permission manage messages to someone, and they'll be able to create npcs in the channel where they have that permission, and only list/edit their own aliases. You can tie these permissions to roles, but you can only control these permission through their discord analogs.


  • .addalias {key} {displayName} {avatarURL?} (also: .addnpc)
    Admin-only: Create an alias. 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: .addalias rod "Rod of Discord"
    NOTE: For avatar URLs, please link directly to images, and keep the size under 500x500px.
  • .editalias {key} {displayName} {avatarURL?} (also: .editnpc)
    Admin-only: Edit an alias. Name is required, avatar optional. Exactly the same syntax as .addalias but a different command so you don't accidently overwrite old npcs.
  • .remalias {key} (also: .remnpc)
    Admin-only: Remove an alias. This will not affect any chat already spoken by them.
  • .listaliases (also: .listnpcs)
    Admin-only: Lists all npcs. Use only in DM channels to avoid spoilers!
    Use .listaliases grants to show who you've granted rights to use them.
  • .grantalias {key} {@mention|@role} (also: .grantnpc)
    Admin-only: Lets the user/role mentioned use the alias specified.
  • .remgrantalias {key} {@mention}
    Admin-only: Remove a user's right to use an alias.
  • .use {key} {chat text} (also: .npc)
    Speak as a saved alias. You can also roll or perform other commands as this npc: .use bob /roll 1d20 + 5 # stealth check
  • .rollfor {Name} {dice command}
    Generic rolling for monsters or characters that aren't worth generating an alias, 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 alias. 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.

Commands For Others

  • .setaliasfor @mention {key}
    Sets the alias for the user mentioned to the key given. Useful for if you're playing with non-technical friends or just want to get everything setup without bothering them.
  • .setchannelaliasfor @mention {key}
    Sets the alias for the user mentioned but only in this channel.
  • .resetaliasfor @mention
    Removes all alias settings for the mentioned user. Useful if they somehow get stuck with a deleted alias or something.
  • .su @mention {command...}
    Switch User: A generalize way to do the above, but you can execute any command as another user. For instance, .su @Brent saveroll axe 1d20 + 5; 1d12 + 3 will save that roll for Brent, and he can just .roll axe without having to think.

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.