Chatroom
Last updated
Last updated
A chatroom is the core element of beoble, where users can send chats to each other.
So, how does the chatroom work? How are the messages delivered in beoble?
You can refer to the Communication Delivery Graph (CDG) section to learn more.
The following is the high level of how data are defined in an Chatroom
object of beoble. The following list doesn't cover every single field in the Chatroom
object, but it shows some of the essential fields that might be useful to know.
type: unique identifier
description: Field chatroom ID
is a unique identifier object for every chatroom of beoble. (i.e., every chatroom in beoble has a unique chatroom ID)
type: persona object
description: Field Creator
contains the user information of the chatroom creator.
type: string
description: Field Display Name
is a field that chatroom admin users can set for chatroom name display purposes to users.
type: string
description: Field Description
is a field that chatroom admin users can set for information display purposes to users.
type: media object
description: Field Profile
stores the media object (i.e., images, gifs, videos) to be shown in the profile and background images of the chatroom.
type: bulk of chat objects
description: Field Chats
are the encrypted messages that belong to a certain chatroom.
type: chat object
description: Field Last Chat
is a cached chat object pointing to this chatroom's last message.
type: chat object
description: Field Pinned Chat
is a cached chat object pointing to this chatroom's pinned message.
type: read object
description: Field Read
contains information about which messages members of the chatroom read.
type: bulk of member objects
description: Member
objects are a combination of Persona
objects with Role
objects. Each member contains information about the user in this chatroom, like whether this member is an admin or not and what level of access they have.
type: key object
description: Field Chatroom Public Key
is the public key of the chatroom that is used for end-to-end encryption, where users use it to encrypt messages and send them to the chatroom. You can find out more details about encryption in the Privacy and Encryption section.
type: timestamp
description: Field Create Time
stores the timestamp of the moment when the chatroom object was created.
type: timestamp
description: Field Update Time
stores the timestamp of the moment when the chatroom object was updated.