How to keep RPG character sheets in Discord
The simplest way to keep character sheets in a Discord server is a table with one row per character that players update with slash commands, so stats live in the channel where the game happens instead of in a pinned message, a shared doc or someone's memory. Hit points go down mid-fight, levels go up after a session, and everyone can look a character up without leaving Discord.
This guide sets that up with CordBase, which we build. It takes about five minutes and works for D&D, Pathfinder or a homebrew system, because you choose the columns.
What you'll end up with
- A
/character-sheetcommand withadd,query,view,update,deleteandleaderboardactions. - A row per character: name, class, level, HP, strength and notes, or whatever fields your system needs.
- A web table where the game master can see and edit every sheet at once.
Step 1: Add CordBase and install the template
- Sign in at cordbase.gg with Discord and pick your server.
- Add the bot to the server when the dashboard asks.
- Open the template library and install Character Sheet. It comes with name (text, required), class (a choice list: Warrior, Mage, Rogue, Cleric, Ranger or Bard, required), level (number, required), HP, strength and notes.
Your system probably has different classes and stats. Open the table in the dashboard and edit the columns: change the class choices, rename strength, or add dexterity, armor class and gold. A table can have up to 25 columns, and each column becomes an option on the commands automatically.
Step 2: Decide who can edit
Permissions work per table, not per row. Anyone who is allowed to update the table can update any character in it. That has a real consequence for sheets:
- If your group trusts each other, give the player role write, and everyone can update their own character (and, in theory, anyone else's).
- If you want only the game master to change numbers, give the players read and the game master write. Players then look sheets up and ask the GM to apply changes.
Once any role is set on a table, members without one of those roles can't use it at all. Anyone with Discord's Administrator permission keeps full access either way.
Step 3: Create characters
/character-sheet add name:Mara class:Mage level:3 hp:18 strength:8 notes:Owes the guild 50 gold
Discord shows each column as an option, with a menu for class, so nobody types "Wizzard".
Step 4: Update during play
Start typing in the row option and pick the character from the list. The _mode option decides what happens to numbers:
- Decrement subtracts from the current value:
/character-sheet update row:Mara hp:5 _mode:Decrementtakes 5 HP off. - Increment adds:
/character-sheet update row:Mara level:1 _mode:Incrementis a level up. - Set, the default, replaces the value:
/character-sheet update row:Mara hp:18is a full heal.
If two people change HP at the same moment, both changes count, because the bot applies the change to the stored value instead of overwriting it with a number it read earlier.
Step 5: Look things up
/character-sheet view row:Marashows one sheet in full./character-sheet query class:Magelists every mage./character-sheet query level:5finds characters at a given level./character-sheet leaderboard column:levelranks the party by level.
When something else fits better
CordBase stores values. It doesn't roll dice, calculate modifiers, track spell slots or enforce rules. If you want the bot to run the mechanics, use a tabletop bot such as Avrae, or a virtual tabletop like Foundry or Roll20 for full sheets. A table is the better fit when you want a lightweight, shared record that anyone can read in Discord: a party roster, a West Marches character list, or a homebrew system with no ready-made tool.
Limits worth knowing
- Free: 2 tables with 100 rows each, which covers a large campaign. Pro ($8/month) raises that to unlimited tables and 10,000 rows per table and adds CSV and JSON export.
- Up to 25 columns per table.
- Tables are designed on the web; players can't create new tables from Discord.
- There is no CSV import today, so existing sheets are entered with
addor in the dashboard.
Questions people ask
Can the bot roll dice or calculate modifiers?
No. CordBase records and updates values. For dice and rules automation, use a tabletop bot such as Avrae.
Can players edit only their own character?
Not as a permission. Permissions are per table, so anyone who can update the table can update any row. Either trust the group or give only the game master write access.
Does it work for systems other than D&D?
Yes. The Character Sheet template is a starting point. You can rename and add columns, and change the class choices, for any system.