Skip to content

Events

Events are the core of Rawtoh. Everything starts with an event.

An event is a notification that something happened. When a module detects activity, it creates an event with:

FieldDescription
nameThe type of event (e.g. ChatMessage, SceneChanged)
payloadThe data associated with the event (JSON object)
emitter_groupWhich module group emitted it (e.g. twitch)
emitter_nameWhich specific module emitted it (e.g. bot1)
favoriteWhether you marked this event as favorite
emitted_atWhen the event was emitted (timestamp)

When someone sends “!hello” in a Twitch chat, the Twitch module emits:

{
"name": "ChatMessage",
"emitter_group": "twitch",
"emitter_name": "bot1",
"payload": {
"user": "viewer42",
"message": "!hello",
"channel": "streamer_name"
}
}
  1. A module emits an event via its WebSocket connection
  2. The event is saved in the database
  3. The event is dispatched to the runtime
  4. The runtime checks all triggers that match the event name and module group
  5. Matching triggers evaluate their conditions
  6. If a condition passes, the linked action runs

When a trigger matches an event, a process is created. A process tracks the full execution cycle:

FieldDescription
eventThe event that started it
triggerThe trigger that matched
action_executedWhether the linked action ran
start/end timeWhen the process started and finished
errorError message if something went wrong
logsWhat your script logged with log()
module logsDetails of all RPC calls made to modules (method, params, response time, errors)

This lets you trace exactly what happened: which event triggered which action, what the action did, and whether the module calls succeeded.

All events are visible in the Events panel of the dashboard. You can:

  • Browse events chronologically (paginated)
  • Mark events as favorites for quick access
  • Open an event to see its payload and all the processes it created
  • See the logs and module call details for each process