core/src/types/protocol-flags.ts

129 lines
1.8 KiB
TypeScript

export enum ProtocolFeatureFlag {
/**
* Protocol is primarily short-form messaging.
* Small chatrooms like IRC, syncplay chat, etc..
*/
SHORT_FORM_MESSAGING,
/**
* Protocol supports images.
*/
IMAGES,
/**
* Protocol supports colored messages.
*/
COLORS,
/**
* Protocol supports formatted.
*/
FORMATTING,
/**
* Protocol supports plain messaging.
*/
PLAIN,
/**
* Protocol supports HTML messages.
*/
HTML,
/**
* Protocol supports Markdown messages.
*/
MARKDOWN,
/**
* Protocol supports custom embeds.
*/
CUSTOM_EMBEDS,
/**
* Protocol is entirely one-to-one communication.
*/
SINGLE_RECIPIENT,
/**
* Protocol is communication with multiple recipients through one message target.
*/
SINGLE_TO_MULTI_RECIPIENT,
/**
* Protocol has optional (end-to-end) encryption.
*/
OPTIONAL_ENCRYPTION,
/**
* Protocol is encrypted (use for end-to-end encrypted systems)
*/
ENCRYPTED,
/**
* Protocol (natively) supports emoji.
*/
EMOJI,
/**
* Protocol supports reactions.
*/
REACTIONS,
/**
* Protocol supports mentions.
*/
MENTION,
/**
* Protocol supports replying.
*/
REPLY,
/**
* Protocol connection manages multiple "servers"
*/
MULTISERVER,
/**
* Protocol supports voice chat.
*/
VOICE,
/**
* Protocol supports video chat.
*/
VIDEO,
/**
* Protocol supports threads.
*/
THREADS,
/**
* Protocol supports kicking.
*/
KICK,
/**
* Protocol supports banning.
*/
BAN,
/**
* Protocol supports muting.
*/
MUTE,
/**
* Protocol has a separate method of account verification.
*/
ACCOUNT_VERIFICATION,
EVENT_MESSAGE,
EVENT_ROOM_JOIN,
EVENT_ROOM_LEAVE,
EVENT_ROOM_NAME_CHANGE
}