0x4d4f5448.systems Pointing to nothing

Federated Chatting System

This is an idea for the constructs of the Federated Chatting System (FCS) protocol, it has not been accepted by the team. Written by virtuallysyrup (except for the abstract).

Abstract

This protocol is designed to facilitate standardized communications between discrete servers (referred to henceforth as 'instances' to minimize confusion) as part of the Catsup platform. Unlike many similar federation protocols, it has a scope limited to real-time communications and associated metadata; it is not suitable for usage with any other synchronization paradigms. This protocol does not rely on web technologies, instead relying primarily on TLS connections paired with CBOR.

Constructs

* = Required

User

A user represents an account whether it is manually administered or automated. This object includes the following fields:

Message

A message represents one of the main forms of communication, connected to a User or multiple connected to a Collection. This object includes the following fields:

Collection

A collection represents groups of itself or of Messages. This object includes the following fields:

Media

Media represents both custom emotes and any other form of media like color(s), embeds, and polls. This object includes the following fields:

Color

A solid or gradient color used for embeds or name colors. This object includes the following fields:

Item (Is there a better name?)

An object used for badges, user status, and poll options. This object includes the following fields:

Relationship

A representation of a connection between Users. This object includes the following fields:

Permissions

A representation of what a Collection or User are allowed or disallowed to do. This object includes the following fields:

Rule

A Rule represents what a User can get reported or reprimanded for. Custom Rules can be made. This object includes the following fields:

Audit Logs

An object that holds all previous ModerationEvents, as well as settings for which channels to post these events in. This object includes the following fields:

Moderation Event

A representation of a Collection's activity. This object includes the following fields:

System Channels

A representation of which (Channel type) Collection should have each type of ModerationEvent sent to, if any. This object includes the following fields: