Building on Gryt
Bots, addons, plugins, and the packages you can build against
Four ways to extend Gryt, and they run in different places. Which one you want depends on where your code needs to live.
Pick where your code runs
A bot
Its own process, joins a server like a person does
A client addon
Runs in the app, changes what you see
A server plugin
Runs in the server, sees messages and members
Both halves
A server plugin and a client addon that talk to each other
Which pages are generated
Three of these are written by a script that reads the source, and CI regenerates them, so they cannot fall behind what the code exports. Editing one by hand gets your change wiped on the next run. Change the source it reads instead.
| Generated | What it documents |
|---|---|
| Addon API | Everything on the gryt object a client plugin runs against |
| Server plugin API | Every capability, event and call a server plugin gets |
| Bot API | Everything @gryt/bot exports |
Server API is the exception: it's the REST and Socket.IO surface, and it's written by hand.
Packages you can build against
@gryt/voice is the voice engine the Gryt client runs on
itself: the microphone, the SFU connection, and the hooks around them.
@gryt/ui is the component library, with a React Native
build for mobile.