Skip to main content

Chatroom Overview

Chatroom provides a business model with no user limit and supports high-concurrency message processing, suitable for scenarios like live streaming, communities, gaming, social networking, and interest discussions. Key features of chatrooms include:

  • There is no limit to the number of chatrooms that can be created under an App Key, and no limit to the number of members in a single chatroom.

  • Chatrooms have an auto-destruction mechanism. By default, all chatrooms will automatically kick out all members and self-destruct after 1 hour of inactivity (no member joins/exits or new messages during a continuous period). This duration can be extended or configured for scheduled auto-destruction. For details, see the server documentation Chatroom Destruction Mechanism.

  • Chatrooms have an automatic member removal mechanism for offline members. When default preset conditions are met, the RC server will remove chatroom members. See Exit Chatroom for details.

  • Local chatroom messages are deleted when exiting the chatroom. To store historical messages for chatrooms long-term on RC's server, please submit a ticket to enable the Cloud Storage for Chatroom Messages service. Once enabled, chatroom history messages are stored in the cloud by default for 2 months.

  • Chatrooms do not support offline message conversion to push notifications. Only online chatroom members can receive chatroom messages.

Client UI Framework Reference Design

The chatroom product currently does not provide dedicated UI components for chatroom conversations. You can refer to the following UI framework design to understand the chatroom design approach.

  • The Chatroom tab in the image below shows the chatroom message list.

  • The Chatroom Management window in the image below displays some of the capabilities supported by chatrooms, such as muting, banning, and allowlists.

(height=500)

Service Configuration

The client SDK supports chatrooms by default and does not require activation.

Some basic features and value-added services for chatrooms can be enabled and configured in the RC Console under Chat's Chat settings pages.

Client SDK Usage Notes

tip

IMKit relies on IMLib and therefore inherits all capabilities of IMLib, including chatrooms. However, note that IMKit does not provide out-of-the-box UI components for chatroom conversations.

Chatroom Feature APIs

Chatroom session relationships are established and maintained by RC. The SDK provides some chatroom management APIs such as join and exit. More chatroom management features require the use of IM server APIs. The table below describes the main chatroom feature APIs provided by RC.

Feature CategoryDescriptionClient APIRC Server API
Create & Destroy ChatroomManually create or destroy a chatroom. Note: The client SDK does not have a dedicated API for creating chatrooms. The client does not provide an API for manually destroying chatrooms.Not providedCreate Room, Destroy Room
Join & Exit ChatroomJoin an existing chatroom. Ensure the chatroom ID exists. Join and exit APIs are only available on the client. Note: The client has deprecated APIs that support creating a chatroom if it doesn't exist before joining, but these are no longer recommended.Join Chatroom, Exit ChatroomNot provided
Query Chatroom & User Info
  • Query basic chatroom info, including chatroom ID, name, and creation time.
  • Query chatroom member info, supporting retrieval of member user IDs and join times. Returns up to 500 members, sorted by join time.
Query Chatroom InfoQuery Room Info
Chatroom Attribute Management

Set custom attributes in a specified chatroom. For example, in a voice live chatroom scenario, use this feature to record mic attributes; or in card games like Werewolf, record user roles and game states.

Chatroom attributes are stored as Key-Value pairs, supporting set, delete, and query operations, including batch and forced operations.

Chatroom AttributesAttribute Management (KV)
Ban/Unban Chatroom UserBan one or more chatroom members. Banned members are kicked from the specified chatroom and cannot rejoin during the ban period.Not providedMember Ban
Chatroom User Allowlist

Enabled by default in the development environment (dev). In production environments, this feature is enabled by default for Chat Pro Plan and is not supported for Chat Starter Plan.

Users added to a chatroom allowlist will not have their messages discarded during high traffic and will not be automatically kicked by the RC server.

Not providedChatroom Allowlist Service
Send Chatroom MessageSend chatroom messages.Send MessageSend Chatroom Message
Recall Chatroom MessageRecall chatroom messages.Recall MessageMessage Recall
Get Chatroom History MessagesRetrieve chatroom history messages.Get Chatroom History MessagesHistory Message Log
Chatroom Low-Priority Messages

Enabled by default in the development environment (dev). In production environments, this feature is enabled by default for Chat Pro Plan and is not supported for Chat Starter Plan.

If a message type is in the low-priority list, all messages of that type are treated as low-priority. When server load is high, high-priority messages are retained first, while low-priority messages are discarded first. By default, all messages are high-priority.

Not providedChatroom Message Priority Service
Chatroom Message Allowlist

Enabled by default in the development environment (dev). In production environments, this feature is supported only for Chat Pro Plan and is not supported for Chat Starter Plan.

If a message type is in the chatroom message allowlist, all messages of that type are protected and will not be discarded even during high message volume.

Not providedChatroom Allowlist Service
Chatroom Member MuteMute one or more members in a specified chatroom. Muted members can receive and view chatroom messages but cannot send messages to the chatroom.Not providedMute a User
Mute All MembersMute all members in a chatroom or cancel the mute status. When set, all members cannot send messages to the chatroom via the client SDK.Not providedMute All
Mute ExceptionsAdd one or more members to the chatroom mute exceptions list. Members in this list can still send messages to the chatroom via the client SDK even when the chatroom is in mute-all mode.Not providedMute All
Global Chatroom Member Mute

Enabled by default in the development environment (dev). In production environments, this feature is supported only for Chat Pro Plan and is not supported for Chat Starter Plan.

Add one or more users to the global chatroom mute list. Users in this list cannot send messages in any chatroom under the application.

Not providedGlobal Mute

Differences from Groups and Ultra Groups

You can learn about the differences between business types and all features through the following documents: