RollBot, by Thijs Miedema

Playing tabletop online via discord? Do you feel you don't need the complexity that a VTT like Roll20 brings? You just want to roll dice in chat? Then RollBot is the tool for you.

Rollbot rolls dice and makes that easy. There are no complex and tedious to set up character sheet integrations, altough nothing is stopping you from writing one.


There are two ways to make Rollbot roll something. I feel either can be useful depending on the context. You can prefix a message with an '=' or you can surround a roll with '[]'

    Thijs = d20+2
    RollBot Thijs: 1d20{12} + 2 -> 14
    Thijs I attack the orc with my mace for [1d8+2d6+1] damage!
    RollBot Thijs: 1d8{4} + 2d6{1,2} + 1 -> 8

Dice rolling syntax is very straightforward and does not contain any special setup for different tabletop systems.

    Thijs Roll a single die like [d20] or [1d20]
    RollBot Thijs: 1d20{10} -> 10
    RollBot Thijs: 1d20{1} -> 1

    Thijs Multiple dice [3d8]
    RollBot Thijs: 3d8{3, 6, 3} -> 12

    Thijs Weird dice [d42]
    RollBot Thijs: 1d42{17} -> 17

    Thijs Do some simple arithmatic: [d20 + 3], [d2 - 1], [3 * d20] and [10 / d8]
    RollBot Thijs: (1d20{15} + 3) -> 18
    RollBot Thijs: (1d2{2} - 1) -> 1
    RollBot Thijs: 3 * 1d20{7} -> 21
    RollBot Thijs: 10 / 1d8{6} -> 1

    Thijs Functions [max(d20,d20)] and [min(d20,d20)]
    RollBot Thijs: max(1d20{13}, 1d20{6}) -> 13
    RollBot Thijs: min(1d20{18}, 1d20{19}) -> 18

    Thijs Custom list of options, like the Fudge die: [{-1,0,1}]
    RollBot Thijs: {1} -> 1

    Thijs Comparisons [1 + (d20 > 5) * d10]
    RollBot Thijs: (1 + (1d20{15} > 5) * 1d10{2}) -> 3

Some of these might get a bit tedious to type all the time. By setting up some macros/variables you can still make RollBot convenient for whatever system you are using. These macros are user specific.

    Thijs Setup advantage/disadvantage rolls for d&d5e: [adv = max(d20,d20)], [dis = min(d20,d20)]
    RollBot Thijs: adv = max(d20, d20)
    RollBot Thijs: dis = min(d20, d20)
    Thijs Roll stealth at disadvantage! [dis-3]
    RollBot Thijs: (dis{min(1d20{1}, 1d20{1})} - 3) -> -2

A final feature is the ability to plot distributions of dicerolls:

    Thijs I crit the goblin for [3d8+2d6] damage!
    RollBot Thijs: (3d8{1, 1, 1} + 2d6{1, 1}) -> 5
    Thijs Are you kidding me?!
    Thijs distribution 3d8+2d6
    Thijs Pfffff....

You can get started with Rollbot in two different ways

Rollbot was fully developed in my free time. If you appreciate my work you can buy me a coffee over on Ko-Fi. Also, feel free to send suggestions or report bugs on twitter or the github page. Join the discord support server if you need any help setting things up. You can also reach me by email, 'roll AT'.

©2020 Thijs Miedema