Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Architecture

At its core, Seabird is an RPC API.

Currently, seabird exports 2 apis: a chat ingestion API, and a plugin API. In general, all components only interact with one of these.

seabird-core

Chat Ingestion API

The chat ingestion API consists of a single endpoint IngestEvents which starts a bidirectional stream. Outgoing messages are "commands" which allow seabird to inform the ingestion process to perform some sort of action, like sending a message or joining a channel. Incoming messages are the ingested events, allowing users of this API to inform seabird of new messages or other events.

Plugin API

The plugin API consists of both an event stream and a number of methods which can be used to cause things to happen.

The streaming endpoint StreamEvents is a firehose of all events occuring across all seabird chat backends.

For callable methods, the SendMessage endpoint is the most commonly used.

Chat Backends

Chat backends interact with the Chat Ingestion API and are used to connect some sort of chat server or network into the Seabird ecosystem.

Plugins

Plugins interact with the Plugin API and are used to provide some sort of additional functionality, similar to what a chat bot would do.