1.0 KiB
1.0 KiB
Event API
The Event API provides functions for working with SilverBullet's event bus system, allowing communication between different parts of the application.
Event Operations
event.listen(listenerDef)
Register an event listener.
event.listen {
name = "my-event",
run = function(e)
print("Data", e.data)
end
}
event.dispatch(eventName, data, timeout)
Triggers an event on the SilverBullet event bus. Event handlers can return values, which are accumulated and returned to the caller.
Example:
-- Simple event dispatch
event.dispatch("custom.event", {message = "Hello"})
-- Event dispatch with timeout and response handling
local responses = event.dispatchEvent("data.request", {id = 123}, 5000)
for _, response in ipairs(responses) do
print(response)
end
event.listEvents()
Lists all events currently registered (listened to) on the SilverBullet event bus.
Example:
local events = event.listEvents()
for _, eventName in ipairs(events) do
print("Registered event: " .. eventName)
end