Skip to main content

Connection Status

type ConnectionStatus = "connected" | "connecting" | "disconnected" | "failure" | "dbOpen" | "dbClose"

Conversation Type

enum ConversationType {
PRIVATE = 1, // private chat
GROUP = 2, // group
CHATROOM = 3, // chatroom
SYSTEM = 4 // system conversation
}

Message Direction

enum MessageDirection {
SEND = 1, // send
RECEIVE = 2 // receive
}

Message State

enum MessageState {
UNKNOWN = 0, // unknown
SENDING = 1, // sending
SENT = 2, // sent
SEND_FAILED = 3, // send failed
UPLOADING = 4 // uploading
}

Listeners

Connection Status Listener Type:

type ConnectionStatusListener = (
status: ConnectionStatus,
code: number,
extra: string
) => void;

Message Listener Type:

type MessageListener = {
onMessageReceive?: (message: Message) => void;
onMessageRecall?: (message: Message) => void;
onMessageUpdate?: (message: Message) => void;
onMessageDelete?: (
conversation: Conversation,
clientMsgNos: number[]
) => void;
onMessageClear?: (
conversation: Conversation,
timestamp: number,
senderId: string
) => void;
onMessageReactionAdd?: (
conversation: Conversation,
reaction: MessageReaction
) => void;
onMessageReactionRemove?: (
conversation: Conversation,
reaction: MessageReaction
) => void;
onMessageSetTop?: (
message: Message,
operator: UserInfo,
isTop: boolean
) => void;
}

Conversation Listener Type:

type ConversationListener = {
onConversationInfoAdd?: (conversations: ConversationInfo[]) => void;
onConversationInfoUpdate?: (conversations: ConversationInfo[]) => void;
onConversationInfoDelete?: (conversations: ConversationInfo[]) => void;
onTotalUnreadMessageCountUpdate?: (count: number) => void;
}