API Reference UrbitEx v0.6.5

Modules

Main API for the UrbitEx Package. Includes functions to initiate your Urbit session, subscribe to main event sources and set up logic to handle events.

Module with the base functions to start the Urbit Session. Other complex functionality found in other files in this folder.

Client API to interact with dm-hook, new implementation of direct messaging Fetch, send, accept and decline DMs.

Client API to interact with graphs on Urbit. Create channels, delete them, send messages, add posts, etc. All interaction with present Graph Store based applications is here.

Client API to interact with groups on Urbit. Create groups, delete them, join others, all interactions with groups is here.

Client API to interact with invite-store on Urbit. Includes functions to accept and invite declines. Sending of invites depends of group-store or graph-store.

Client API to interact with the metadata-store of your Urbit ship. Allows you to change the metadata of groups and channels you own or are admin of, as well as preview metadata of groups you don't belong to yet.

Client API to interact with hark-store, the notifications system of Urbit.

Client API to interact with the contacts-store of your Urbit Ship. Includes functions to change your Urbit profile.

Client API to interact with settings on Urbit. Urbit settings-store is a simple key-value store with a simple API. There's "buckets" and "entries". Entries have a value which can be an integer, a string or a list. Landscape has its own set of settings (background images, whether to show nicknames or render avatars, etc.) But you can store anything you want in there. This module provides functions to modify Landscape settings as well as insert or delete your own. This module also includes functions to interact with s3-store, the module to set up S3 buckets. s3-store precedede settings-store but it might be merged into it in the future.

Module with functions to build json bodies to send to Airlock. One function per Eyre action: ack, subscribe, unsubscribe and poke. Scries are simple get requests, see every gall module for details.

Module with functions to interact with Eyre. All HTTP requests sent to Urbit are in this module.

GenServer module to open Eyre channels. Defines an UrbitEx.Channel struct to keep track of the channel state. Elixir processes can subscribe to channels to consume the events their propagate, either raw Eyre events or Eyre events parsed by UrbitEx.Reducer

Module containing the default functions to handle SSE events sent from the Urbit ship. Some events are sent to the Session process to keep the state of the session, e.g. lists of groups, channels, unreads, notifications, etc. All events are sent to subscribers of the channel calling this reducer module, either in parsed or raw form.

GenServer to keep state of an Urbit Session. Creates a struct keeping track of global data, and client functions to add and remove channels.

Module with functions to interact with herm, the Urbit virtual terminal. Subscription to herm will trigger an SSE pipeline outputting the return of every statement. Error messages are not shown in that channel, instead there is a separate SSE pipeline called slog. You can access that by running the slog/1 function.

Utils module with some useful functions, such as a tokenizer for graph store, regex for urls and @ps, etc.