This is an old revision of the document!


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 private message to you 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 face-down. A hand must have been created first with the /hand command, or you will get an error trying to play a card.

  • /play <card name> will play the <card name> you typed face down, adding it to the hand, but showing only a card back to the channel. If you need help finding the possible card file names, you can view all of them with the /show list command.
  • /play <card name> up will play the exact card file name you typed, like “/play ta-mind”, face up, add it to the hand, and announce it to the channel.
  • /play <card name> on card0 will play the <card name> you typed face down, 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 up will play the <card name> you typed face up, and add it to the hand on top of the second card played in the hand to form a Card Stack, and show the card face 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 <card name> will send a private message to you showing the card face. Example: “/show ta-mind
  • /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 Card2 3WIL 1QUI 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 Attribute they are. 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 Card0 3WIL 1QUI up will bid three WIL Attribute Points and one Quickness face up on the first card that has been played in the hand (card sequences in a hand start with 0, not 1).

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

?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)