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 a collection of commands to help facilitate running the game in Discord, but requires that players understand the rules, because it is less automated but built to be more flexible to continue working 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)


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.

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


Player Commands

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

/bid

Type /bid to bid stat points on a card you've already played.

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

/chips

Allows you to manage the chip stacks of your actor:

  • /chips dmg Grogan -3str -2ag applies 3 STR and 2 AGI damage to the Actor Grogan
  • /chips delta Grogan +2kno awards 2 KNO chips to Grogan
  • /chips reset Grogan resets Grogan's chips back to base from Actor sheet.

/show

  • /show actors shows the actors names assigned to you in the current campaign. If you are the GM, it shows all actors in the current adventure plus any campaign NPCs.
  • /show actor shows you the statblock of an Actor assigned to you like /show actor example-actor
  • /show bid 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.
  • /show chips <actor_name> shows the state of the Actor's chips
  • /show config will send a private message to you showing all of the current game settings (Campaign, Adventure, Scenario, Scene, Hand, and Actor count)
  • /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.

GM Commands

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

/config

This group of commands is for the GM of the active campaign.

  • /config campaign will update the current campaign name with one you specify like: /config campaign No-Dice RPG, and set that campaign as active (makes you GM of that campaign).
  • /config adventure will update the current adventure name with one you specify like: /config adventure Sword of Hope and set that name as active.
  • /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
  • /config player <@user> <add|remove> adds or removes a Discord user to the GM's campaign.
  • /config actor <name> <statblock|@user|unassign|delete> – manages actors:
    • /config actor example-actor R1/1(27/0)-M3(3/3/3)-B3(3/3/3)-S3(3/3/3) – creates an actor named example-actor with the given statblock as an NPC in the GM's campaign.
    • /config actor example-actor @user – assigns the existing actor named example-actor to the Discord user @user..
    • /config actor example-actor R1/1(27/0)-M3(3/3/3)-B3(3/3/3)-S3(3/3/3) @User – creates an actor named example-actor with the given statblock and assigns it to the Discord user @User.
    • /config actor example-actor unassign – converts example-actor from being assigned to a player to becoming an NPC.
    • /config actor example-actor delete – removes example-actor from the GM's campaign.
  • /config cp <list,filename, on|off> – manages game Content Packs:
    • /config cp list – lists all available game Content Packs.
    • /config ex fantasy.py – shows a message about what this Content Pack adds.
    • /config ex fantasy.py on – turns on this Content Pack
    • /config ex fantasy.py off – turns off this Content Pack
  • /config ex <list,filename, on|off> – manages game rule Extensions:
    • /config ex list – lists all available game Extensions.
    • /config ex body_locations.py – shows a message about what this Extension file changes.
    • /config ex body_locations.py on – turns on this Extension
    • /config ex body_locations.py off – turns off this Extension

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