<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Rod of Discord]]></title><description><![CDATA[Rod of Discord]]></description><link>https://rodbot.io/</link><image><url>http://rodbot.io/favicon.png</url><title>Rod of Discord</title><link>https://rodbot.io/</link></image><generator>Ghost 1.21</generator><lastBuildDate>Wed, 22 Apr 2026 12:41:47 GMT</lastBuildDate><atom:link href="https://rodbot.io/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[What is RoD?]]></title><description><![CDATA[The Rod of Discord, or RoD, is a D&D helper bot for the Discord chat program. Its primary goal is to make play-by-post chat campaigns easy to manage, although it can also be used in live campaigns too.]]></description><link>https://rodbot.io/what-is-rod/</link><guid isPermaLink="false">5aa84df5ec527a1e061f13e4</guid><dc:creator><![CDATA[Brent Phillips]]></dc:creator><pubDate>Wed, 14 Mar 2018 22:18:00 GMT</pubDate><media:content url="https://rodbot.io/content/images/2018/04/rod-head.png" medium="image"/><content:encoded><![CDATA[<div class="kg-card-markdown"><img src="https://rodbot.io/content/images/2018/04/rod-head.png" alt="What is RoD?"><p><img src="https://rodbot.io/content/images/2018/04/rod-full-small.png" style="width: 120px; float: left; margin: 0px 15px 10px 0px;" alt="What is RoD?"> Rod of Discord is a comprehensive D&amp;D helper bot for Discord, intended for use with play-by-post campaigns, but can also be helpful for live campaigns.</p>
<h1 id="features">Features</h1>
<ul>
<li><strong>Rolling</strong>: <code>.roll 1d20 + 3 # sword attack!</code> You can perform a variety of dice rolls, grouped rolls, advantage/disadvantage, and apply labels!<br>
<img src="https://rodbot.io/content/images/2018/03/basic-roll.png" alt="What is RoD?"></li>
<li><strong>Roll Saving</strong>: <code>.saveroll sword 1d20 + 5 # sword attack; 1d8 + 2 # slashing damage</code> =&gt; <code>.roll sword</code> Save your most used rolls for later as singular or grouped rolls.<br>
<img src="https://rodbot.io/content/images/2018/03/grouped-roll.png" alt="What is RoD?"></li>
<li><strong>Mobile Shorthand</strong>:
<ul>
<li><strong>Shorthand Attacks</strong>: <code>.roll 5:2.8:2</code> =&gt; <code>.roll 1d20 + 5 # hit; 2d8 + 2 # damage</code> Designed to use only characters on the number keyboard section of your phone, quickly generate attacks with the minimum information required!</li>
<li><strong>Shorthand Checks</strong>: <code>.roll c3</code> =&gt; <code>.roll 1d20 + 3</code> The quickest way to roll your skill checks!</li>
</ul>
</li>
<li><strong>Aliasing</strong>: <code>.use mychar Hey, I'm talking as this guy!</code> Want to use a custom avatar / name to post as an NPC, or just don't want to replace your global Discord avatar with your player's pic? Our webhook aliasing features will make it easy for you to post as other people, and with a built-in permission system, your DM can make sure no one else plays as you!</li>
<li><strong>Perma-alias</strong>: <code>.setalias mychar</code> Autoflag all your following chat to be aliased as a particular character so you don't have to keep typing <code>.use</code>!</li>
<li><strong>Call For Rolls</strong>: <code>.callfor &quot;Initiative!&quot; Roll your initiative guys! @Party</code> Target a particular role or users, gather rolls for initiative, group saves, skill checks easily, keep track of who has responded, and keep a log you can check if you think someone rolled incorrectly.<br>
<img src="https://rodbot.io/content/images/2018/03/callfor.png" alt="What is RoD?"></li>
<li>See <a href="https://rodbot.io/reference/">All Commands »</a></li>
</ul>
<h1 id="questions">Questions</h1>
<p><strong>How do I get this bot on my server?</strong></p>
<ul>
<li>Click here: <a href="https://discord.com/oauth2/authorize?client_id=363100574222254091&amp;scope=bot&amp;permissions=537226304">https://discord.com/oauth2/authorize?client_id=363100574222254091&amp;scope=bot&amp;permissions=537226304</a></li>
</ul>
<p><strong>Why does it say [BOT] next to my npcs and aliases?</strong></p>
<ul>
<li>I use webhooks to display chat with unique avatars and messages, so it's actually the bot saying it, not you.</li>
</ul>
<p><strong>Will you join my game?</strong></p>
<ul>
<li>Maybe? I definitely won't DM it!</li>
</ul>
<p><strong>Can I host it myself?</strong></p>
<ul>
<li>Rod 2 is live right now, and if you want to host it yourself or modify it, you can find it here: <a href="https://github.com/UltimateBrent/discord-rod">https://github.com/UltimateBrent/discord-rod</a></li>
</ul>
<p><strong>Can I pay you for this?</strong></p>
<ul>
<li>In lieu of a donation to me, maybe join or start a D&amp;D game from our LFG section, and enjoy yourself!</li>
</ul>
<p><strong>I found a bug!</strong></p>
<ul>
<li>Please let us know on our <a href="https://discord.gg/MvdRurG">Discord</a> about the bug with as much info as you can about how it happened and how to replicate it. Or you can report it on our github: <a href="https://github.com/UltimateBrent/discord-rod/issues">https://github.com/UltimateBrent/discord-rod/issues</a></li>
</ul>
</div>]]></content:encoded></item><item><title><![CDATA[Reference]]></title><description><![CDATA[Get the full listing of commands you can use with RoD, as well as in-depth description on the different types of rolls you can do.]]></description><link>https://rodbot.io/reference/</link><guid isPermaLink="false">5aa8b7deec527a1e061f13e5</guid><dc:creator><![CDATA[Brent Phillips]]></dc:creator><pubDate>Wed, 14 Mar 2018 06:16:20 GMT</pubDate><media:content url="https://rodbot.io/content/images/2018/03/callfor-2.png" medium="image"/><content:encoded><![CDATA[<div class="kg-card-markdown"><h1 id="commands">Commands</h1>
<h2 id="administration">Administration</h2>
<ul>
<li><code>.rod debug</code><br>
Does a series of tests to determine if your current channel is set up correctly for Rod. You should see the numbers 1-4.</li>
<li><code>.rod serverinfo</code><br>
Prints out your channel id and server id which can be useful in debugging, though if you need debugging, it probably won't work.</li>
<li><code>.rod setescape {char}</code><br>
Sets escape character to the new value. Must be one character, and must be from <code>! | / \ + - $ % ^ &amp; * , . &lt; &gt; : ;</code>. Admin commands like this (<code>/rod xxx</code>), will be available regardless of your escape character.</li>
<li><code>.rod resetescape</code><br>
Sets your escape character back to <code>.</code></li>
<li><code>.rod addignore {char}</code><br>
Adds a character to be ignored by Rod if a message starts with it. For example, if you set <code>.rod addignore ~</code> then type <code>~ this is out of character</code>, 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.</li>
<li><code>.rod remignore {char}</code><br>
Removes an ignore character from the list.</li>
<li><code>.rod listignore</code><br>
Lists all current ignore characters.</li>
<li><code>.rod clearignore</code><br>
Clears the entire list of ignore characters.</li>
</ul>
<img src="https://rodbot.io/content/images/2018/03/callfor-2.png" alt="Reference"><p>NOTE: The <code>rod</code> subset of commands are always reachable by <code>/rod command</code>, so if you accidently set your escape character to something that won't work, or ignored your escape character, you can still use <code>/rod setescape</code> and <code>/rod clearignore</code> to fix your server.</p>
<h2 id="rolling">Rolling</h2>
<ul>
<li><code>.roll {dice command|saved-key}</code><br>
Rolls a dice command or saved key. Check <a href="http://rodbot.io/how-to-roll">here</a> for more details about the types of rolls you can do.</li>
<li><code>.saveroll {saved-key} {dice command}</code><br>
Saves a roll for later use. This is server specific.</li>
<li><code>.remroll {saved-key}</code><br>
Removes a saved roll.</li>
<li><code>.listrolls</code><br>
Lists your saved rolls.</li>
<li><code>.clearrolls</code><br>
Deletes all your saved rolls.</li>
<li><code>.coin</code><br>
Flips a coin</li>
</ul>
<h2 id="tables">Tables</h2>
<ul>
<li><code>.tableroll {tablename}</code> (alias: <code>.rolltable</code>)<br>
Rolls from a pre-loaded table that was loaded with <code>.loadtable</code>. A good example would be the wild magic table. Can also be iterated like a normal roll: <code>/tableroll [3] wildmagic</code></li>
<li><code>.loadtable {tablename} {url-to-csv?}</code> (alias: <code>.savetable</code>)<br>
<em>NOTE: This no longer works with google sheets urls!</em><br>
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: <a href="https://docs.google.com/spreadsheets/d/1olgiAi90HLh7PtaZe41N6pf3PhTAAKuKMpgdzp80KVw/edit?usp=sharing">Google Doc - Races</a><br>
<img src="https://rodbot.io/content/images/2018/07/Screenshot_2-1.png" alt="Reference"> <img src="https://rodbot.io/content/images/2018/07/Screenshot_1.png" alt="Reference"></li>
<li><code>.listtables</code><br>
Admin-only: Lists the tables you saved and the amount of rows they have.</li>
<li><code>.showtable {tablename}</code><br>
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.</li>
<li><code>.remtable {tablename}</code><br>
Admin-only: Removes a table from your list.</li>
</ul>
<h2 id="npcaliasing">NPC Aliasing</h2>
<h3 id="permissions">Permissions</h3>
<p>Creating and editing Aliases can be done by anyone with the discord permission <code>admin</code>. You can also assign the discord permission <code>manage messages</code> 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.</p>
<h3 id="commands">Commands</h3>
<ul>
<li><code>.addalias {key} {displayName} {avatarURL?}</code> (also: <code>.addnpc</code>)<br>
Admin-only: Create an alias. The displayName should be surrounded by quotes <code>&quot;</code> if it has a space in it. Avatar optional, will use a generic blank head if not supplied. Ex: <code>.addalias rod &quot;Rod of Discord&quot; http://images.com/rod.png</code><br>
NOTE: For avatar URLs, please link directly to images, and keep the size under 500x500px.</li>
<li><code>.editalias {key} {displayName} {avatarURL?}</code> (also: <code>.editnpc</code>)<br>
Admin-only: Edit an alias. Name is required, avatar optional. Exactly the same syntax as <code>.addalias</code> but a different command so you don't accidently overwrite old npcs.</li>
<li><code>.remalias {key}</code> (also: <code>.remnpc</code>)<br>
Admin-only: Remove an alias. This will not affect any chat already spoken by them.</li>
<li><code>.listaliases</code> (also: <code>.listnpcs</code>)<br>
Admin-only: Lists all npcs. Use only in DM channels to avoid spoilers!<br>
Use <code>.listaliases grants</code> to show who you've granted rights to use them.</li>
<li><code>.grantalias {key} {@mention|@role}</code> (also: <code>.grantnpc</code>)<br>
Admin-only: Lets the user/role mentioned use the alias specified.</li>
<li><code>.remgrantalias {key} {@mention}</code><br>
Admin-only: Remove a user's right to use an alias.</li>
<li><code>.use {key} {chat text}</code> (also: <code>.npc</code>)<br>
Speak as a saved alias. You can also roll or perform other commands as this npc: <code>.use bob /roll 1d20 + 5 # stealth check</code></li>
<li><code>.rollfor {Name} {dice command}</code><br>
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.</li>
<li><code>.setalias {key|off}</code><br>
Set all further chat as a specific alias. Use parentheses around your chat to bypass. Set to <code>off</code> to disable.</li>
<li><code>.setchannelalias {key|off|auto}</code><br>
Set all further chat <em>in this channel</em> to use a specific npc. Overrides the value from <code>/setalias</code>. A value of <code>off</code> will use no alias, while <code>auto</code> will use the value from your <code>/setalias</code> (as if there was no channel setting).</li>
<li><code>.alias</code><br>
Returns information about your current alias and how you would post if you did so in the current channel.</li>
<li><code>.resetalias</code><br>
Sets your server alias as <code>off</code> and changes each channel alias to <code>auto</code>.</li>
<li><code>.edit {chat text}</code><br>
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.</li>
<li><code>.delete</code><br>
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.</li>
</ul>
<h2 id="commandsforothers">Commands For Others</h2>
<ul>
<li><code>.setaliasfor @mention {key}</code><br>
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.</li>
<li><code>.setchannelaliasfor @mention {key}</code><br>
Sets the alias for the user mentioned but only in this channel.</li>
<li><code>.resetaliasfor @mention</code><br>
Removes all alias settings for the mentioned user. Useful if they somehow get stuck with a deleted alias or something.</li>
<li><code>.su @mention {command...}</code><br>
Switch User: A generalize way to do the above, but you can execute any command as another user. For instance, <code>.su @Brent saveroll axe 1d20 + 5; 1d12 + 3</code> will save that roll for Brent, and he can just <code>.roll axe</code> without having to think.</li>
</ul>
<h2 id="initiativeturnmanagement">Initiative / Turn Management</h2>
<ul>
<li><code>.callfor {Title} {chat text w/ @mentions and +NPCs}</code><br>
Admin-only: Call for a group of rolls from @mentioned users, @roles, and +npcs. (ex. <code>.callfor Initiative Roll initiative team! @Party +Goblins</code>).</li>
<li><code>.calladd {@mentions and +NPCs}</code><br>
Admin-only: Add @mentioned users, @roles, or +npcs to the <code>.callfor</code> if you forgot when you initially made it.</li>
<li><code>.callrefresh</code><br>
Admin-only: If any chat has occurred since the <code>.callfor</code>, this will just move it to the bottom.</li>
<li><code>.calllog</code><br>
Admin-only: List each roll that went into the <code>.callfor</code> and who made it.</li>
<li><code>.calldone</code><br>
Admin-only: End the <code>.callfor</code> and display the results.</li>
<li><code>.done</code><br>
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.</li>
<li><code>.ping {message w/ @mentions}</code><br>
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.</li>
<li><code>.turn {?@mention}</code><br>
A convienent alias for <code>.ping It is your turn @mention!</code>. If there's no mention, it will be <code>.ping It is time for the next turn!</code></li>
<li><code>.clearpings {?@mention}</code><br>
Clears all pings that mention <code>@mention</code> if included, or all of the ones in the current channel otherwise. Useful if you accidently ping someone that quits or is a bot.</li>
</ul>
</div>]]></content:encoded></item><item><title><![CDATA[How to Roll]]></title><description><![CDATA[If you're not familiar with dice bots, read this!]]></description><link>https://rodbot.io/how-to-roll/</link><guid isPermaLink="false">5b3551f2b0bdf9056b54e78a</guid><dc:creator><![CDATA[Brent Phillips]]></dc:creator><pubDate>Mon, 12 Mar 2018 21:25:00 GMT</pubDate><media:content url="https://rodbot.io/content/images/2018/06/d20_small.png" medium="image"/><content:encoded><![CDATA[<div class="kg-card-markdown"><h1 id="basicrolls">Basic Rolls</h1>
<img src="https://rodbot.io/content/images/2018/06/d20_small.png" alt="How to Roll"><p>Basic usage is likely what you expect:</p>
<p><code>.roll 1d20 + 3</code></p>
<p>You can add other die and basic math as well.</p>
<p><code>.roll 2 * 2d12 + 1d6 - 1</code></p>
<p>You can add advantage or disadvantage.</p>
<p><code>.roll 1d20a + 3 # advantage</code></p>
<p><code>.roll 1d10d - 1 # disadvantage</code></p>
<p>You can do &quot;keep&quot; rolls, like for ability scores.</p>
<p><code>.roll 4d6k3</code></p>
<blockquote>
<p>Hint: There's a built-in saved roll called <code>abilities</code> that will roll 6x <code>4d6k3</code>s for you. <code>.roll abilities</code></p>
</blockquote>
<p>You can do &quot;keep lower&quot; rolls:</p>
<p><code>.roll 3d6l2</code> (that's an &quot;L&quot;)</p>
<p>You can also do exploding dice.</p>
<p><code>.roll 3d6e # any instance of 6 will roll another d6</code><br>
<code>.roll 3d6e1 # or explode on a number other than max</code><br>
<code>.roll 3d6e&gt;4 # explode on 5 and 6</code><br>
<code>.roll 3d6e&gt;=5 # same as above, but with &gt;=</code></p>
<h2 id="alternatedice">Alternate Dice</h2>
<h3 id="fatedice">Fate Dice</h3>
<ul>
<li><code>/roll 4df</code></li>
</ul>
<h3 id="woddice">WoD Dice</h3>
<ul>
<li><code>.roll 10w5e</code> will roll 10d10 dice against a check of 5 and explode on 10.</li>
<li><code>.roll 10w5d7t8e</code> will roll 10d10 against a check of 5, double 7s, triple 8+, and explode on 10.</li>
</ul>
<h1 id="labeling">Labeling</h1>
<p>You can label your rolls with short descriptors so it's clear what you're rolling by adding a <code>#</code> symbol and then your description. You might want to get into the habit of adding a space afterwards so you don't trigger Discord's channel autocomplete, but we don't actually care on our end.</p>
<p><code>.roll 1d20 + 3 # athletics check</code></p>
<h1 id="groupedrolls">Grouped Rolls</h1>
<p>Often you'll want to do more than one roll together, like an attack roll and damage roll. You can concatenate them with semicolons. Each member of a grouped roll can have their own label.</p>
<p><code>.roll 1d20 + 5 # hit; 2d12 + 3 # slashing damage</code></p>
<h1 id="iterations">Iterations</h1>
<p>You can call a roll more than once by preceding the roll by the number of times you want to run it in brackets. Usefull if you want to do three goblin attacks at once or something. You can also include <code>{i}</code>, which will fill in with the number iteration that's running, starting at 1.</p>
<p><code>.roll [3] 1d20 + 5 # goblin {i} hit; [3] 1d6 + 3 # goblin {i} dmg</code></p>
<blockquote>
<p>1d20 + 5 = 12 + 5 = 17 goblin 1 hit<br>
1d20 + 5 = 17 + 5 = 22 goblin 2 hit<br>
1d20 + 5 = 6 + 5 = 11 goblin 3 hit<br>
1d6 + 3 = 5 + 3 = 8 goblin 1 dmg<br>
1d6 + 3 = 5 + 3 = 8 goblin 2 dmg<br>
1d6 + 3 = 6 + 3 = 9 goblin 3 dmg</p>
</blockquote>
<p>Saved rolls can also be iterated, even if they're compound rolls.</p>
<p><code>.saveroll attack 1d20 + 5; 1d6 + 3</code><br>
<code>.roll [3] attack</code></p>
<p>Table rolls do not yet support iterations, but that's coming soon.</p>
<h1 id="shorthand">Shorthand</h1>
<p>Play-by-post D&amp;D happens anywhere and everywhere. We've included two shorthand methods to make it easy to roll attack/damage, as well as skill checks from mobile keyboards.</p>
<h2 id="attacks">Attacks</h2>
<p><code>.roll 5:2.6:3</code> is the same as <code>.roll 1d20 + 5 # hit; 2d6 + 3 # damage</code> including the labels.</p>
<p>You can also add advantage or disadvantage, or leave out the number of die if it's just one.</p>
<p><code>.roll 3a:8:5</code> is the same as <code>.roll 1d20a + 3 # hit; 1d8 + 5 # damage</code></p>
<h2 id="skillchecks">Skill Checks</h2>
<p><code>.roll c2</code> is the same as <code>.roll 1d20 + 2</code></p>
<p>These can also have advantage and disadvantage as well as negative modifiers.</p>
<p><code>.roll c-1a</code> is the same as <code>.roll 1d20a - 1</code></p>
</div>]]></content:encoded></item><item><title><![CDATA[Play By Chat]]></title><description><![CDATA[Play-by-post D&D is not new, people have been doing it for years, but that doesn't mean *you* know how to do it!]]></description><link>https://rodbot.io/play-by-chat/</link><guid isPermaLink="false">5ab344fbec527a1e061f13e8</guid><dc:creator><![CDATA[Brent Phillips]]></dc:creator><pubDate>Sun, 11 Mar 2018 07:51:00 GMT</pubDate><media:content url="https://rodbot.io/content/images/2018/03/map1-1.png" medium="image"/><content:encoded><![CDATA[<div class="kg-card-markdown"><img src="https://rodbot.io/content/images/2018/03/map1-1.png" alt="Play By Chat"><p>Play-by-post D&amp;D is not new, people have been doing it for years, but that doesn't mean <em>you</em> know how to do it!</p>
<h1 id="quickdmtips">Quick DM Tips</h1>
<p>You can do this however you choose, but I'd recommend the following best practices:</p>
<ul>
<li><strong>Use Aliases</strong>: Even if a player only uses Discord to play with you, make them an NPC and have them use the alias. If they aren't, and they die and change their character, all chat history will update with their new name/avatar, and it'll be super confusing. It's also nice to have a distinct in-character and out-of-character persona to be clear who's asking a question or making a comment.</li>
<li><strong>Pre-roll</strong>: Most DMs make players wait until a roll has been requested before the roll can be valid, but some suspension here might save time, especially when you might spend hours between availability, just to have the player roll a d20. So if a player is going to do something that might require a skill check, have them roll their best guess at what the check should be. If it's the wrong check, just say so, and use the d20 portion of their roll and add the correct modifier, rather than making them roll again.</li>
<li><strong>Auto-Share Info</strong>: A lot of D&amp;D groups do this anyway, but it's even more important here: if a particular character discovers something through inspection or remembering history etc, that the DM explains, assume that character shares this info with the group unless the player wants to keep it secret.</li>
<li><strong>Communicate Absenses</strong>: People go on vacation, get busy with work, etc. and nothing can stop that. Be clear with your players that they should notify the group if they know about something like that coming up so that at the very least, everyone understands, and at best, the group can move on without ruffling any feathers. Using aliasing, the DM or another player could take over their character for a few days, or the character can just hang out in a nearby tavern, or they can just follow the group silently until something worth input comes up. Or maybe the group takes a break, but the key is to communicate if you're going to be gone or unreachable.</li>
<li><strong>Separate Channels</strong>: Keep a clear <code>#story</code> channel and a <code>#general</code> or <code>#chat</code> channel, and try to keep the story channel clear of any out-of-character banter. It makes going back and revisiting the story significantly easier, and lets players that only have a short amount of time to &quot;play&quot; skip reading extraneous stuff and just catch up on the story.</li>
<li><strong>Start With A Fight</strong>: There's a good chance at least one of your players is new to play-by-chat, new to <em>you</em>, or D&amp;D altogether. Starting with an early fight lets them ease into role-playing (it's less embarassing to flourish your sword than to recite a poem for the king), lets them learn the roll mechanisms of the bot early, and most importantly, it involves everyone right from the start. This A) forces shy players to participate in the beginning, and lets them contribute to the group, when they might not if you start with a role play section and B) helps you figure out how available each player is (or if one of your players has disappeared between recruitment and game start). If any of your players drop, they can die in combat in story, and you can start looking for replacements ASAP, instead of finding out the person you thought was shy during a role play section wasn't there at all.</li>
<li><strong>@Mention Players</strong>: Get in the habit of @mentioning players when it's their turn for combat or if they're being waited on for an initiative roll or skill check. The player might not have time to catch up on everything that happened since they were last on, but they could stop in and roll real quick if they knew they were being waited on. I created <code>/ping</code> and <code>/turn</code> for this occasion. It's also good to remind your players to do <code>/done</code> when they're finished so you know when you can move on.</li>
<li><strong>Lean Into Advantages</strong>: Playing by post has some disadvantages, so make sure you take your wins when you can.
<ul>
<li><strong>Split the Group</strong>: Feel free to split the group, just create an <code>#alt-story</code> channel or whatever. This can actually be a good way to deal with players that are constantly available or side missions, and since it's all asynchronous, it's much easier to manage than in person. If a couple players are going to be away for a week, maybe do a one-shot in another channel!</li>
<li><strong>Don't Plan Too Much</strong>: You've got all the time in the world (relatively), so if your players take a hard left when you were expecting a right, no big deal. You don't have to ad-lib something on the spot, take your time and come up with a new direction.</li>
<li><strong>Take Your Time</strong>: This kind of keys off the last one, but even with little stuff, you have an opportunity to really think out your responses. My play-by-post characters have a lot more going on than my real-time NPCs, because I don't have to act them out. I can just write them, and if necessary, think about it and rewrite!</li>
</ul>
</li>
</ul>
<h1 id="makingnpcs">Making NPCs</h1>
<p>I find the easiest way to make a new NPC is to first search for an avatar that represents them from online artwork, and then carve out more details after I've found a picture that fits.</p>
<p>I've found this <a href="https://www.pinterest.com/proteycorrax/rpg-portraits-avatars/?lp=true">Pinterest Board</a> to be a great place to find fantasy avatars to use.</p>
<p>Most of the time your players will only ever see the tiny avatar you pick, so make sure the face fits the character, and if their whole character is important, drop that in chat the first time they show up for reference.</p>
<h1 id="managingcombatmaps">Managing Combat Maps</h1>
<p>Since everything is asynchronous, it could be rough to have a lot of back and forth where players are asking the DM about positioning etc. or getting confused, so I think a battle map is critical, even if it's minimal.</p>
<p>This is not <em>the</em> way to do this, but this is how <em>I</em> did this. I created a separate channel called <code>#combat-info</code> and inside is the intiative order, the current health/status of the enemies and I eventually added the players as well. Finally, there's an ASCII map of the action, inside a css code block:</p>
<p><img src="https://rodbot.io/content/images/2018/03/combat.png" alt="Play By Chat"></p>
<p>It's pretty bare-bones, but it's infinitely better than nothing, and you can make maps very quickly. With some clever use of <a href="http://www.theasciicode.com.ar/extended-ascii-code/block-graphic-character-ascii-code-219.html">ASCII codes</a>, you can get a pretty expressive version of what you want. Here's a few more examples.</p>
<p><img src="https://rodbot.io/content/images/2018/03/map1.png" alt="Play By Chat"> <img src="https://rodbot.io/content/images/2018/03/map2.png" alt="Play By Chat"> <img src="https://rodbot.io/content/images/2018/03/map3.png" alt="Play By Chat"></p>
<p>I recommend making these in a code editor, rather than inside Discord. While the end-result is monospaced, editing a code block inside the Discord editor is <em>not</em> monospaced, so it can get pretty wonky looking pretty quickly.</p>
<p>Another option is to use Google Sheets. It has good apps for both iOS and Android, so you can manage your map on the go, with the bonus of being able to use emoji and colorize your maps. Then just take a screenshot whenever there are updates and post it in your <code>#combat</code> channel.</p>
<p><img src="https://rodbot.io/content/images/2018/04/image-1.png" alt="Play By Chat"></p>
<p><img src="https://rodbot.io/content/images/2018/04/unknown-1.png" alt="Play By Chat"></p>
<p>It's also nice as DM to have extra notes etc in the spreadsheet in columns that your players can't see for quick reference like monster AC, HP, and attack rolls.</p>
<p>I think both of these are easier to manage than Roll20, and it keeps everything inside Discord, which makes it easier for new users and people on the go, but you do you!</p>
</div>]]></content:encoded></item></channel></rss>