Categorygithub.com/diamondburned/cchat
modulepackage
0.6.7
Repository: https://github.com/diamondburned/cchat.git
Documentation: pkg.go.dev

# README

cchat

A set of stabilized interfaces for cchat implementations, joining the backend and frontend together.

Refer to the GoDoc for interfaces and documentations.

Known implementations

The following sections contain known cchat implementations. PRs are welcomed for more implementations to be added here.

Backend

Frontend

# Packages

No description provided by the author
No description provided by the author
Package services provides a global repository of cchat services.
Package text provides a rich text API for cchat interfaces to use.
No description provided by the author

# Functions

CtxCallbacks binds a set of given callbacks to the given context.
WrapAuthenticateError wraps the given error to become an AuthenticateError.

# Constants

No description provided by the author
No description provided by the author
No description provided by the author
Invisible is reserved.
No description provided by the author
No description provided by the author
No description provided by the author

# Structs

AuthenticateEntry represents a single authentication entry, usually an email or password prompt.
CompletionEntry is a single completion entry returned by CompleteMessage.
ErrInvalidConfigAtField is the structure for an error at a specific configuration field.
MessageAttachment represents a single file attachment.
ReadIndication represents a read indication of a user/author in a messager server.

# Interfaces

Actioner adds custom message actions into each message.
Attacher adds attachments into the message being sent.
AuthenticateError is the error returned when authenticating.
The authenticator interface allows for a multistage initial authentication API that the backend could use.
Backlogger adds message history capabilities into a message container.
Commander is an optional interface that a session could implement for command support.
Completer adds autocompletion into the message composer.
Configurator is an interface which the backend can implement for a primitive configuration API.
Editor adds message editing to the messenger.
Identifier requires ID() to return a uniquely identifiable string for whatever this is embedded into.
LabelContainer is a generic interface for any container that can hold texts.
Lister is for servers that contain children servers.
ListMember represents a single member in the member list.
MemberDynamicSection represents a dynamically loaded member list section.
MemberListContainer is a generic interface for any container that can display a member list.
MemberLister adds a member list into a message server.
MemberSection represents a member list section.
MessageCreate is the interface for an incoming message.
MessageDelete is the interface for a message delete event.
MessageHeader implements the minimum interface for any message event.
MessagesContainer is a view implementation that displays a list of messages live.
MessageUpdate is the interface for a message update (or edit) event.
Messenger is for servers that contain messages.
Namer requires Name() to return the name of the object.
Nicknamer adds the current user's nickname.
Noncer adds nonce support.
ReadContainer is an interface that a frontend container can implement to show the read bubbles on messages.
ReadIndicator adds a read indicator API for frontends to show.
Replier indicates that the message being sent is a reply to something.
SendableMessage is the bare minimum interface of a sendable message, that is, a message that can be sent with SendMessage().
Sender adds message sending to a messenger.
Server is a single server-like entity that could translate to a guild, a channel, a chat-room, and such.
ServersContainer is any type of view that displays the list of servers.
ServerUpdate represents a server update event.
Service is a complete service that's capable of multiple sessions.
Session is returned after authentication on the service.
SessionRestorer extends Service and is called by the frontend to restore a saved session.
SessionSaver extends Session and is called by the frontend to save the current session.
TypingContainer is a generic interface for any container that can display users typing in the current chatbox.
TypingIndicator optionally extends ServerMessage to provide bidirectional typing indicating capabilities.
UnreadContainer is an interface that a single server container (such as a button or a tree node) can implement if it's capable of indicating the read and mentioned status for that channel.
UnreadIndicator adds an unread state API for frontends to use.
User is the interface for an identifiable author.

# Type aliases

ID is the type alias for an ID string.
Status represents a user's status.