Dungeons & Dipoles

-.-. --.-    -.-. --.-

ROLL - An APRS Dice Rolling Service

Have you ever thought to yourself, “gee, rolling dice is fun, but I wish I could do it over RF!”

…yeah, I didn’t think so. But nevertheless, Dungeons & Dipoles is proud to present ROLL - an APRS service written in Python/aprslib which allows you to roll dice using standard notation. If you’ve ever used a dice bot on Discord or a VTT like Foundry, then this should be familiar territory, but if not, here’s a nifty guide to using ROLL:

Getting Started

  1. Open the APRS messaging feature on your radio or APRS app.
  2. Set the message recipient to ROLL.
  3. Enter R, a space, and the dice you want to roll. For example: R 1d20.
  4. Send the message. ROLL replies to the callsign and SSID you sent it from.

For example, sending R 1d20 might return Rolled 1d20: 17. Each die is randomized independently; the numbers below are examples, so your results will vary.

If you are using RF, your message must reach APRS-IS through an IGate, and a transmit-capable IGate must be able to deliver the reply back to your station. You can also use an APRS-IS-connected app.

Basic Dice Notation

The format is NdS: N is the number of dice, and S is the number of sides on each die. A six-sided die gives a result from 1 through 6, inclusive. Put R before the notation to request a roll.

  • R 1d20 — roll one twenty-sided die.
  • R 3d6 — roll three six-sided dice and add their results.
  • R d20 — another way to request one twenty-sided die.
  • R d% or R 1d100 — roll a percentile die, giving a result from 1 through 100.

Commands are case insensitive, so r 3D6 works too. Spaces within the dice expression are accepted.

Modifiers and Multiple Dice

Use + or - to add or subtract a modifier. ROLL shows the individual dice, applies the modifier, and gives the final total.

  • R 1d20+1
    Example reply: Rolled 1d20+1: 17 + 1 = 18
  • R 3d6
    Example reply: Rolled 3d6: 4 + 3 + 6 = 13
  • R 3d6-2
    Example reply: Rolled 3d6-2: 4 + 3 + 6 - 2 = 11
  • R 1d8+1d4-2
    Example reply: Rolled 1d8+1d4-2: 6 + 3 - 2 = 7

You can combine different dice in the same request. The reply spells out an omitted die count, and d% is displayed as 1d100.

Keep or Drop Dice

Add one of these suffixes to a dice term, followed by how many dice to keep or drop:

  • kh — keep the highest dice. R 2d20kh1 rolls two d20s and keeps the higher result: advantage.
  • kl — keep the lowest dice. R 2d20kl1 keeps the lower of two d20s: disadvantage.
  • dh — drop the highest dice. R 4d6dh1 drops the highest of four d6s.
  • dl — drop the lowest dice. R 4d6dl1 drops the lowest of four d6s and adds the remaining three.

For example: Rolled 4d6dl1: 4 + 6 + 3 = 13; dropped 4d6dl1: 1. Dropped dice are listed separately and do not count toward the total. Modifiers work here too: try R 2d20kh1+5.

Long Replies and Repeat Messages

If a breakdown is too long for one APRS message, ROLL sends it in numbered parts such as (1/3), (2/3), and (3/3). Read the parts in order to see the complete roll.

Use numbered APRS messages if your radio or app supports them. Retransmissions of a numbered request use the same roll while the bot remembers that request. Replies may be repeated if their acknowledgments are lost; identical repeated results are not new rolls.

Identical requests without message numbers are suppressed for 30 seconds. If you want another identical roll, send a new numbered message or wait more than 30 seconds before repeating an unnumbered request.

Help and Limits

Send HELP to ROLL for a short usage reminder and a link to this website. An unrecognized command returns the same reminder. An invalid dice expression returns a short error explaining the problem.

  • At most 100 dice total and 10 terms per request.
  • Each die may have 1 to 1,000,000 sides; each numeric modifier may be at most 1,000,000.
  • At most 40 characters in the dice expression after spaces are removed.
  • A keep/drop count must be at least 1 and cannot exceed the number of dice in that term. Dropping every die makes that term contribute 0.
  • Include at least one die. Multiplication, division, parentheses, exploding dice, rerolls, and Fate dice are not supported.

Join Our Discord

Discord logo

Come join the party!

Join the Discord Server

Find Us on DMR

Join Dungeons & Dipoles on the BrandMeister network.

TG 3162213