Glossary of Jargon#

Here lies words specific (or nearly so) to Moobius and the concepts there in.

The service#

A service is an app that runs and controls all the behavior (except for agents).

The dataclasses module stores the types of all sorts of data that corresponds to users, UI, etc.

The service_id is created when a new service is created, which happens if the supplied service_id (in the JSON config) is an empty string.

Channels#

A channel is a chatroom threads. Channels are almost completly independant; every time the service does anything, it must specify a channel it is performing it’s action in. A service can be bound to one or more channels.

A unique channel_id is auto-generated when a new channel is created. Usually this is manually done, but it is possible to create a channel automatically.

Users#

Users can log into thier account and join a channel by entering it’s secret ID. Every time the service does anything it also has to specify a list of of user-ids that see the change.

A character is a person/bot/puppet you see in the chat and can appear to send or recieve messages. Each Character object cooresponds to the name, id, avatar, and description.

Each member is a character associated with a real account and channel; different channels have different member_id values even for the same user/bot.

Each puppet is a character puppeted by the service and is not associated with any channel.

An Action object is a generic “the user did something” for non-messages, etc.

An avatar is (a link to) an image that displays in the avatar.

A user_id is auto-generated on sign-up and stores the id of a user. There is only one per user regardless of which channels they join.

Buttons#

Buttons can be clicked on to do things.

A Button object is a representation of a button a user can click on. Simple buttons just get clicked on but complex buttons open a pop-up menu.

A ButtonClick happens when the user clicks a button.

A ButtonArgument is used to describe a single element in the pop-up menu of a complex-button.

Messages#

These appear in the chat thread.

A Message object stores everything that is relevant to a message (who, when, and what).

A MessageBody object contains all the information.

The message_type of a message can be text, image, or audio for displayed content. As well as a downloadable file or a card that links to a given url.

message_up messages are sent to the service by users and/or agents.

message_down messages are sent from the service to users and/or agents.

The Canvas#

This is the place to show text and/or images to the user without cluttering the chat.

The Canvas object contains a list of CanvasElement objects.

Each CanvasElment contains text and/or an image URLs to show on the page.

A list of StyleElement ojects is used to update the look-and feel.

The agent#

An agent is a bot that cooresponds to a user’s account. Unlike a puppet it has autonomy.

Agents call fetch functions to query buttons, the canvas, and other information a user would see.

Agents send message_up messages back to the service.