Custom events

Three rules all need to welcome a member. You could paste the same four steps into each one, and then fix the wording in three places forever.

Instead, one rule emits an event and the others listen for it.

Verify button  →  add role  →  emit "member_verified"
                                      ↓
                         rule: post the welcome
                         rule: log it
                         rule: give the starter coins

Adding a fourth reaction later means adding a rule. The button never changes.

Emitting

The Emit event action takes a name (lowercase letters, digits, underscores) and an optional payload: up to 10 key/value pairs, and the values can themselves contain variables.

Listening

A rule with the Custom event trigger names the event it waits for. It receives {event.name} plus every payload key as {event.<key>}.

Listeners are ordinary rules: they have their own filters, cooldowns and history, exactly like a rule triggered by Discord.

Scope and safety

An event never leaves the server that emitted it. Rules on another server cannot hear it, and there is no way to address one.

Two guards keep chains sane:

  • Depth: a chain stops after 3 hops, loudly. Two rules emitting each other's events terminate instead of ringing forever. The depth survives a cancellable wait, so inserting a timer cannot reset the counter.
  • Rate: a server may emit 20 events a minute. Beyond that the emit fails with a clear error rather than degrading everything else.
flavWritten on 8 August 2026