File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11# Summary
22
33[ Introduction] ( README.md )
4+ [ Architecture] ( architecture.md )
45
56# Administrator Guide
67
Original file line number Diff line number Diff line change 1+ # Architecture
2+
3+ At its core, Seabird is an RPC API.
4+
5+ Currently, seabird exports 2 apis: a chat ingestion API, and a plugin API. In
6+ general, all components only interact with one of these.
7+
8+ ## seabird-core
9+
10+ ### Chat Ingestion API
11+
12+ The chat ingestion API consists of a single endpoint ` IngestEvents ` which
13+ starts a bidirectional stream. Outgoing messages are "commands" which allow
14+ seabird to inform the ingestion process to perform some sort of action, like
15+ sending a message or joining a channel. Incoming messages are the ingested
16+ events, allowing users of this API to inform seabird of new messages or other events.
17+
18+ ### Plugin API
19+
20+ The plugin API consists of both an event stream and a number of methods which
21+ can be used to cause things to happen.
22+
23+ The streaming endpoint ` StreamEvents ` is a firehose of all events occuring
24+ across all seabird chat backends.
25+
26+ For callable methods, the ` SendMessage ` endpoint is the most commonly used.
27+
28+ ## Chat Backends
29+
30+ Chat backends interact with the Chat Ingestion API and are used to connect some
31+ sort of chat server or network into the Seabird ecosystem.
32+
33+ ## Plugins
34+
35+ Plugins interact with the Plugin API and are used to provide some sort of
36+ additional functionality, similar to what a chat bot would do.
You can’t perform that action at this time.
0 commit comments