C++
Initialization and Login APIs
To use the Tencent Cloud Chat service, you need to initialize the SDK and log in.
API | Description |
Initializes the IM SDK. | |
Uninstalls the IM SDK. | |
Gets the version number. | |
Gets the server time. | |
Logs a user in. | |
Logs a user out. | |
Gets the login status. | |
Gets the UserID of the current login user. |
Simple Message APIs
Use the following APIs for the sending and receiving of text and signaling (custom buffer) messages.
API | Description |
Sets an event listener for simple messages (text messages and custom messages). Do not use it and AddAdvancedMsgListener at the same time. | |
Removes the event listener for simple messages (text messages and custom messages). | |
Sends a one-to-one (C2C) text message. | |
Sends a one-to-one (C2C) custom (signaling) message. | |
Sends a group text message. | |
Sends a group custom (signaling) message. |
Signaling APIs
API | Description |
Adds a signaling listener. | |
Removes a signaling listener. | |
Invites a user. | |
Invites certain users in the group. | |
The inviter cancels the invitation. | |
The invitee accepts the invitation. | |
The invitee rejects the invitation. | |
Gets the signaling information. | |
Adds invitation signaling (can be used for invitation signaling triggered by offline push messages for group invitations). | |
Modifies the invitation signaling. |
Advanced Message APIs
If you need to send/receive rich media messages (such as image, video, and file messages) and use advanced features such as recalling messages, marking messages as read, and querying message history, use the following set of advanced message APIs. Do not use simple message APIs and advanced message APIs at the same time.
API | Description |
Sets an event listener for advanced messages. Do not use it and AddSimpleMsgListener at the same time. | |
Removes an event listener for advanced messages. | |
Creates a text message. | |
Creates an @ text message. | |
Creates a custom message. | |
Creates a custom message (supports setting offline push information). | |
Creates an image message. | |
Creates an audio message. | |
Creates a video message. | |
Creates a file message. | |
Creates a location message. | |
Creates an emoji message. | |
Creates a combined forward message. | |
Creates a single forward message. | |
Creates a targeted group message. | |
Creates an @ group message. | |
Sends a message. The message object can be created using a CreateXXXMessage API. | |
Sets the Mute Notifications option for one-to-one messages. | |
Gets the Mute Notifications status for one-to-one messages. | |
Sets the Mute Notifications option for group messages. | |
Sets the global message receiving option (supports setting do-not-disturb times for each day). | |
Sets the global message receiving option. | |
Gets the global message receiving option of a logged-in user. | |
Gets message history. | |
Recalls a message. The message object can be created using a createXXXMessage API. | |
Modifies a message. The message object can be created using a createXXXMessage API. | |
Marks one-to-one (C2C) messages as read. (It is deprecated. Please call API CleanConversationUnreadMessageCount instead). | |
Marks group messages as read. (It is deprecated. Please call API CleanConversationUnreadMessageCount instead). | |
Marks all messages as read. (It is deprecated. Please call API CleanConversationUnreadMessageCount instead). | |
Deletes messages from local storage and the cloud. | |
Clears chat history with a user from local storage and the cloud. | |
Clears chat history of a group from local storage and the cloud. | |
Inserts a message in a group chat. | |
Inserts a message in a one-to-one chat. | |
Finds local messages by msgID . | |
Searches for local messages. | |
Searches for cloud messages. | |
Sends message read receipts. | |
Gets message read receipts. | |
Gets the list of group members who have read group messages. | |
Sets message extensions. | |
Gets message extensions. | |
Deletes message extensions. | |
Adds message reaction. | |
Deletes message reaction. | |
Gets message reactions. | |
Gets all users of message reactions by page. | |
Sets group message pinning. | |
Gets pinned group message list. |
Group APIs
Tencent Cloud Chat SDK supports the following preset group types, each of which pertains to different scenarios.
Work group (Work): Users can join the group only after being invited by group members. This group is similar to ordinary WeChat groups.
Public group (Public): Similar to QQ groups, users can join a public group through requests, which need to be approved by the group owner or group admin.
Meeting group (Meeting): Used together with TRTC to enable scenarios such as video conferencing and online education. Users can join and leave the group freely and view the message history before they join.
Community: Community supports up to 100,000 members and a user can join and leave a community freely without approval. It is suitable for chat scenarios with a super large number of community members, such as knowledge sharing and game discussion. This feature is supported by a client with the SDK edition V5.8 or later. To use it, you need to purchase the premium edition, and then enable it via console> Feature Configuration > Group Configuration > Group Feature Configuration > Community.
Audio-video group (AVChatRoom): An audio-video group allows users to join and leave freely and is suitable for scenarios such as live streaming and chat rooms with on-screen comments. There is no limit on the number of group members.
API | Description |
Adds an event listener for groups. | |
Removes an event listener for groups. | |
Creates a simple group. | |
Creates an advanced group. The group information and the initial group members can be set during group creation. | |
Joins a group. | |
Leaves a group. | |
Disbands a group. Only the group owner and group admin can disband a group. | |
Gets the list of groups the current user has joined, excluding audio-video groups. | |
Pulls the profiles of groups. | |
Searches for groups. | |
Modifies the profile of a group. | |
Initializes group attributes. | |
Sets group attributes. | |
Deletes group attributes. | |
Gets group attributes. | |
Gets the number of online group members. | |
Gets the group member list. | |
Gets the profiles of specified group members. | |
Searches for group members. | |
Modifies the profile of a specified group member. | |
Mutes a group member. | |
Mutes all group members. It can be called only by the administrator or group owner. | |
Removes a member from a group. | |
Removes a member from a group (support setting a duration for prohibiting group joining). | |
Sets a role for a group member. | |
Marks group members. | |
Transfers the group ownership. | |
Invites users to a group. | |
Gets the list of requests to join a group. | |
Approves a request to join a group. | |
Rejects a request to join a group. | |
Marks the request list as read. | |
Gets the list of communities the current user has joined. | |
Creates a topic. | |
Deletes a topic. | |
Modifies topic information. | |
Gets the list of topics. | |
Sets group counters. | |
Gets group counters. | |
Increases the group counter. | |
Decreases the group counter. |
Community Topic APIs
Community is used to manage group members. All topics under a community can not only share community members, but also send and receive messages independently without interfering with each other.
API | Description |
Adds an event listener for communities. | |
Removes an event listener for communities. | |
Creates a community that supports a topic. | |
Gets the list of communities the current user has joined. | |
Creates a topic. | |
Deletes a topic. | |
Modifies topic information. | |
Gets the list of topics. | |
Creates a community permission group. | |
Deletes a community permission group. | |
Modifies a community permission group. | |
Gets the list of community permission groups a user has joined. | |
Gets a community permission group list. | |
Adds members to a community permission group. | |
Removes members from a community permission group. | |
Gets the list of community permission group members. | |
Adds topic permission to the permission group. | |
Deletes topic permission from the permission group. | |
Modifies the topic permission in the permission group. | |
Gets the topic permission in the permission group. |
Conversation List APIs
The conversation list is the list a user sees on the first screen after login. It includes elements such as conversation node, conversation name, group name, last message, and unread count.
API | Description |
Adds a conversation listener. | |
Removes a conversation listener. | |
Gets the conversation list. | |
Gets a conversation. | |
Gets multiple conversations. | |
Gets multiple conversations (support filtering based on conversation type, mark type, group name, etc.). | |
Gets the advanced conversation API to specify the conversation type, mark type, and group name. | |
Deletes a conversation. | |
Sets a draft for a conversation. | |
Sets custom conversation data. | |
Pins a conversation to the top. | |
Marks a conversation. | |
Gets the total unread message count. | |
Creates a conversation group. | |
Gets the list of conversation groups. | |
Deletes a conversation group. | |
Renames a conversation group. | |
Adds a conversation to a conversation group. | |
Deletes a conversation from a conversation group. | |
Gets the total unread message count of conversations by filter. | |
Subscribes to notification of total unread message count for conversations specified by filter. | |
Unsubscribes from notification of total unread message count for conversations specified by filter. |
User Profile APIs
You can use the following APIs to query user profiles, modify your profile, and block messages from a specified user (that is, adding a specified user to the blocklist).
API | Description |
Gets user profiles. | |
Modifies one's own user profile. | |
Subscribes to a user's profile. | |
Unsubscribes from a user's profile. | |
Queries a user's status. | |
Sets one's own status. | |
Subscribes to a user's status. | |
Unsubscribes from a user's status. | |
Blocks messages from a user, which means adding the user to the blocklist. | |
Unblocks messages from a user, which means removing the user from the blocklist. | |
Gets the blocklist. |
Friend Management APIs
Tencent Cloud Chat SDK does not check friend relationships by default when sending and receiving messages. To achieve the interactive experience of "add friends first, then send messages", you can log in to the Console to modify Relationship Check. When enabled, users can only send messages to their friends. When a user sends a message to a non-friend, SDK will report a 20009 error code. The configuration path is: Applications > Your App > Chat > Configuration > Login and Message > Relationship Check.
Use the following API to add or delete friends and manage friend lists.
API | Description |
Adds a contacts listener. | |
Removes a contacts listener. | |
Gets the contacts. | |
Gets the profiles of specified friends. | |
Sets the profile of a specified friend. | |
Searches for friends. | |
Adds a friend. | |
Deletes a friend. | |
Checks relationship with specified users. | |
Gets the list of friend requests. | |
Accepts a friend request. | |
Rejects a friend request. | |
Deletes a friend request. | |
Marks a friend request as read. | |
Creates a friend list. | |
Gets the information of friend lists. | |
Deletes friend lists. | |
Modifies the name of a friend list. | |
Adds friends to a friend list. | |
Deletes friends from a friend list. |
Official Account APIs
Official accounts can send broadcast messages and one-to-one (C2C) messages to subscribers.
API | Description |
Subscribes to an official account. | |
Unsubscribes from an official account. | |
Gets a list of official accounts. |
Follow Feature APIs
The follow feature can help establish and maintain simple connections between users, facilitating interaction and communication among them.
API | Description |
Follows users. | |
Unfollows users. | |
Gets my following user list. | |
Gets my follower list. | |
Gets my mutual following user list. | |
Gets the information of followings/followers/mutual followings of a specified user. | |
Checks the follow type of a specified user. |