Discord Dice Roller

@randsum/robo

A Discord bot and activity for rolling dice in chat. Supports all RANDSUM game packages with beautiful embeds and detailed roll results.

Overview

RANDSUM Robo is a Discord bot and activity that brings dice rolling directly into your Discord server. Built with Robo.js, it provides beautiful embeds, detailed roll breakdowns, and full support for all RANDSUM game packages.

Whether you're running a D&D campaign, playing Blades in the Dark, or exploring other tabletop RPGs, Robo makes it easy to roll dice right in your Discord chat with rich, informative results.

Installation

Quick Install (Recommended)

Add RANDSUM Robo to your Discord server with one click. No setup required!

Add to Discord

Self-Hosted Installation

Installation

# Clone the monorepo
git clone https://github.com/RANDSUM/randsum.git
cd randsum/packages/robo

# Install dependencies
bun install

# Set up environment variables
cp example.env .env

# Run the bot
bun run dev

For detailed setup instructions, see the Robo repository.

Commands

Robo provides a comprehensive set of commands for rolling dice and accessing game-specific mechanics:

/roll

The core dice rolling command. Supports full RANDSUM dice notation with detailed breakdowns showing individual die results, modifiers, and final totals.

Roll Command Examples

/roll notation:4d6L+2
/roll notation:2d20H
/roll notation:3d8+5
Discord bot showing a dice roll result with detailed breakdown. Shows 'You rolled a 15' with rolls [5,1,6,2] before modifiers and [2,5,6] after modifiers, notation 4d6+2L

Example: Roll command showing detailed breakdown of 4d6L+2 with before/after modifier results

/blades

Roll Blades in the Dark action rolls. Takes the number of dice in your pool and returns the outcome (critical, success, partial, or failure) with color-coded embeds.

Blades Command Examples

/blades dice:3
/blades dice:2
/blades dice:0  # Desperate position (rolls 2d6, takes lowest)

/su

Roll on Salvage Union tables. Supports all Salvage Union tables including Core Mechanic, Morale, and other game-specific tables. Returns hit types (Nailed It, Success, Tough Choice) with descriptions.

Salvage Union Command Examples

/su table:Core Mechanic
/su table:Morale
/su  # Uses default table
Discord bot showing a Salvage Union table roll result. Shows '16 - Success' with description 'You have achieved your goal without any compromises. When attacking, you hit the target and deal standard damage.' Table: Core Mechanic, Roll: 16

Example: Salvage Union table roll showing "16 - Success" result with detailed description

/root

Roll Root RPG mechanics. Rolls 2d6 with an optional modifier (-4 to +4) and returns the outcome (Strong Hit, Weak Hit, or Miss) with color-coded embeds and narrative descriptions.

Root RPG Command Examples

/root modifier:2
/root modifier:-1
/root  # No modifier

/dh

Roll Daggerheart mechanics with hope and fear dice. Supports modifiers, advantage/disadvantage, and the ability to amplify hope or fear dice (using d20 instead of d12).

Daggerheart Command Examples

/dh modifier:5 rollingWith:Advantage
/dh modifier:3 rollingWith:Disadvantage
/dh amplifyHope:true amplifyFear:false
/dh modifier:2

/notation

Display a reference guide for RANDSUM dice notation. Shows all available modifiers, syntax, and examples to help users learn the notation system.

Notation Reference Command

/notation

Game Package Support

All RANDSUM game packages are fully supported in Robo:

  • @randsum/blades - Blades in the Dark action rolls with position and effect
  • @randsum/daggerheart - Daggerheart hope and fear dice mechanics
  • @randsum/fifth - D&D 5th Edition ability checks, saving throws, and combat rolls
  • @randsum/root-rpg - Root RPG reputation and relationship mechanics
  • @randsum/salvageunion - Salvage Union table rolls and mech combat

Each game package has dedicated commands that provide game-specific results, color-coded embeds, and detailed breakdowns tailored to that system's mechanics.

Features

  • Detailed Breakdowns: Shows individual die results, modifiers, and step-by-step calculations
  • Full Notation Support: All RANDSUM dice notation features (drop, reroll, explode, etc.)
  • Game-Specific Commands: Dedicated commands for each supported RPG system
  • Type Safety: Built with TypeScript for reliability and maintainability

Examples

Basic Roll Command

/roll notation:4d6L+2

Resources