This is an old revision of the document!
Table of Contents
Discord
Discord is a popular platform for text-based role playing games, and two Discord Bots named Indie and Themis have been created to facilitate playing the No-Dice RPG on Discord. Indie is less automated and feature rich, but more flexible to continue to work as the game rules develop. Themis is fancy and automated, but only supports the current core rules with two players.
Installation Options
Option 1—Join our Discord
You can become a member of our No-Dice RPG Discord Server to start testing the bot and Playing Hands right away. This option gets you started the fastest, but provides the least control over your game setting, and you must follow our community guidelines or get booted.
Option 2—Invite a Bot to Your Server
You can invite a bot that is hosted on a joshuaderoos.com server to your Discord server using these links: Indie, or Themis. Inviting a bot to your Discord server is fast and easy, but this option does not allow you to modify the code, and if our server is down, the bot doesn't work.
Option 3—Self Hosted
The bot code is available for download from Github to host on your own server. This method is more complex to get running, but allows you to customize the bot code to better suit your game, and to control when it is available. The bots are written in Python using the Discord.py library.
Indie Bot Help
Stable (Beta version, fewer built in rules)

The following commands are available to facilitate game play and technical troubleshooting.
/help
Type /help [enter] to have the bot send you a link to this web page.
/config
Type /config to show the current game configuration, or change a configuration setting.
- /config show will send a message to the current channel showing all of the current game settings (Campaign, Adventure, Scenario, Scene, and Hand)
- /config campaign will update the current campaign name with one you specify like: /config campaign No-Dice RPG
- /config adventure will update the current adventure name with one you specify like: /config adventure Sword of Hope
- /config scenario will update the current scenario name with one you specify like: /config scenario Gar Cavern
- /config scene will update the current scene name with one you specify like: /config scene Spawn of Circa Guards
- /config hand will update the current hand name with one you specify like: /config hand Combat at the Gates
/hand
Type /hand to start a new hand, or save the current one, load the prior one, or show the cards that have been played so far.
- /hand <some name> will start a new hand called “some name” in this example, ask you to choose which players will participate, and overwrite any previous hand that was not saved.
- /hand save will save the current hand to disk on the server so it can be reloaded later.
- /hand load will load the last hand that was saved with the /hand save command, overwriting the current hand if there is one.
/play
Type /play to play a card that others can see. A hand must have been created first with the /hand command, or you will get an error trying to play a card.
- /play ab-diehard.jpg will play the exact card file name you typed, and add it to the hand. In this example, the Diehard Ability card was played. If you need help finding the possible card file names, you can view all of them with the /show list command.
- /play <card name> down will play the <card name> you typed face down, adding it to the hand, but showing only a card back to the channel.
- /play <card name> on card0 will play the <card name> you typed, and add it to the hand on top of the first card played in the hand to form a Card Stack. You can see the sequence of cards played so far in the hand with the /hand show command. Note that the sequence of cards in a hand starts at 0, not 1. Also note that you cannot play a card on top of a card that was played on top of a card (nesting); instead, there is a base card at the bottom of the Card Stack, and you can play as many cards as you want on top of that base card.
- /play <card name> on card1 down will play the <card name> you typed, and add it to the hand on top of the second card played in the hand to form a Card Stack, but show only a card back to the channel. Note that the sequence of cards in a hand starts at 0, not 1, and that is why card1 indicates the second card that was played in the hand.
/show
Type /show to see what cards can be played to help you with the /play command.
- /show list will show just you a list of all possible card file names.
- /show ab-diehard.jpg will send a private message to you showing the card ab-diehard.jpg.
- /show hand will send you a private message with the name of the current hand, the players participating, and what cards have been played so far, as well as who played them. Card names and bids that were played face-down will be hidden. Cards played on top of another card will be indented on a computer with a wide screen, or listed with hollow bullets below the card they are played, which will have a solid bullet.
/bid
Type /bid to bid stat points on a card you've already played.
- /bid show will show you in a private message the sequence of all the cards you've played so far in the hand to help you find the sequence number of the card you want to bid on.
- /bid Card0 3WIL 1QUI will bid three WIL Stat Points and one Quickness on the first card that has been played in the hand (card sequences in a hand start with 0, not 1). You can type this command more than once if you made a mistake the first time and want to adjust your prior bid. Each time this command is run it will send a message to the channel to alert other players what card you've bid on.
- /bid Card2 3WIL 1QUI down will bid chips face-down on Card2 in the hand sequence, sending a message to the channel with the number of chips you have bid, but not what stat they are. The default is “true” which sends a message to the channel what your bid was.
- /bid Card2 3blank down will bid 3 blank chips face-down on Card2 in the hand sequence to bluff your opponent, sending a message to the channel with the number of chips you have bid, but not what stat they are. The default is “true” which sends a message to the channel what your bid was.
- /bid Card2 3phase down will bid 3 phase chips face-down on Card2 in the hand sequence, sending a message to the channel with the number of chips you have bid, but not what stat they are. The default is “true” which sends a message to the channel what your bid was. Some Actions like Called Shots allow you to take more time to do better.
/flip
Type /flip to reveal to the channel all face down cards, and any Stat Points that have been bid on them. Cards are displayed in a bulleted list, in the order they were played. Cards played on top of another card will listed right after the base card. The base card will have a solid bullet, and the cards played on it will have hollow bullets. On a computer with a wider screen, the cards played on another card will be indented.
/loc
Type /loc to secretly draw one or more body location cards.
- /loc <enter> will draw one random body location card, show it secretly to you, and tell the channel that you drew one random body location card.
- /loc 3 will draw three random body location cards, show you their names secretly, and tell the channel that you drew 3 random body location cards.
?ping
Type ?ping to check if the bot is online. If it is, it will respond with a message like Pong! Latency=0.1ms. If it doesn't respond, well, it must be on a drunken bender, better DM the bot admin to fix it…
?sync
!Important!: this command only works for the bot developer, and is used to update Discord when new bot commands have been coded.
- ?sync this takes all global commands within the CommandTree and sends them to Discord.
- ?sync ~ this will sync all guild commands for the current context’s guild.
- ?sync * This command copies all global commands to the current guild (within the CommandTree) and syncs.
- ?sync ^ This command will remove all guild commands from the CommandTree and syncs, which effectively removes all commands from the guild.
- ?sync - This command will remove all global commands from the CommandTree and sync.
- ?sync 123 456 789 This command will sync the 3 guild IDs we passed: 123, 456 and 789. Only their guilds and guild-bound commands.
Themis Bot Help
Experimental (Alpha version, bugs exist…)

The following commands are available to facilitate game play:
Players:
/nd help — shows the bot commands in discord and a link to this page
/nd show actions — shows a link to the Action Tags page to help you decide what Action card to play (privately)
/nd show actor — shows your current Actor stat block (privately)
/nd show cards — shows all of the available card names (for use with /nd show card) (privately)
/nd show card <name> — shows the card image for the name you entered (privately)
/nd show chips — shows your current Actor stat block, damage, and chips won/lost (privately)
/nd show dom— shows Trine Dominance (TD) and Action Dominance (AD) rules
/nd show hand — shows the current conflict/hand state (privately)
/nd show trine — shows the Aspects and Attributes of the Trine (privately)
/nd ante <rea|kno|qui|str|fit|agi|wil|pre|int> — TXT mode command to ante a chip
/nd aspect <mind|body|spirit> — TXT mode command to play an Aspect Card
/nd action <attr> <bid> <justification>[wc yes/no] — TXT mode command to play an Action Card
/nd dmg — TXT mode command to allocate damage your Actor has sustained after the Action Reveal message.
GM:
/nd claim — claim the GM role in the current channel for yourself. Saved Actors follow the GM.
/nd set actor @user actor_name:<name> <statblock> — add an Actor sheet to the GM's library, or (without specifying a statblock) use to assign existing Actors to Users.
/nd set actor_delete <name> — remove an actor from your library.
/nd set actor_alias—maps an Actor name created on the fly to a statblock in /nd show actors
/nd set chips <actor> <statblock> — override CURRENT chip stacks (carry damage into a new Conflict)
/nd set dmg—GM override of damage state of an Actor
/nd show actors — shows the list of Actor names this GM has created
/nd hand <name> — creates a Conflict in the channel + lets you select players
/nd start (mode: ui|txt) — starts the Hand, accepts ui or txt mode. UI is for live play and looks nice, but screens timeout. TXT is better for asynchronous play.
/nd next — TXT mode command to move to the next Hand (continue conflict)
/nd end — TXT mode command to end the current Conflict
/nd save and /nd load — persist / restore Conflict state (Hand, Actors, Chips)
/nd reset <scope: self | actor | all> <mode: hand | conflict | everything> — resets the bot state (for rapid testing)
