tencent cloud

Chat

News and Announcements
Release Notes
Announcements
Product Introduction
Overview
Basic Concepts
Scenarios
Features
Account System
User Profile and Relationship Chain
Message Management
Group Related
Official Account
Audio/Video Call
Use Limits
Purchase Guide
Billing Overview
Pricing
Purchase Instructions
Renewal Guide
Service Suspension Explanation
Refund Policy
Development Guidelines
Demo Zone
Activate Service
Free Demos
Quick Run
Download
SDK and Demo Source Code
Update Log
Chat Interaction (UI Included)
TUIKit Introduction
Getting Started
Full-feature Integration
Single-function Integration
Build with AI
Build Basic Interfaces
More Features
Customizing Appearance
Internationalization
Push Service
Overview
Noun explanation
Activate the Service
Quick Start
Manufacturer Channel
Statistics
Troubleshooting Tool
Client APIs
REST API
Push Callback
Advanced Features
Release Notes
Error Codes
FAQS
Desk
Overview
Quick Start
Integration Guide
Admin Operation Manual
Agent Manual
More Practices
Live Streaming Setup Guide
AI Chatbot
Super Large Entertainment and Collaboration Community
Discord Implementation Guide
How to Integrate Chat into Games
WhatsApp Channel-style Official Account Integration Solution
Send Red Packet
Firewall Restrictions
No UI Integration
Quick Start
SDK Integration
Initialization
Login and Logout
Message
Conversation
Group
Community Topic
User Profile and Relationship Chain
Offline Push
Cloud Search
Local Search
Official Channel Management
Client APIs
JavaScript
Android
iOS & macOS
Swift
Flutter
Electron
Unity
React Native
C APIs
C++
Server APIs
Secure authentication with UserSig
RESTful APIs
Webhooks
Console Guide
New Console Introduction
Creating and Upgrading an Application
Basic Configuration
Feature Configuration
Account Management
Group Management
Official Channel Management
Webhook Configuration
Usage
Viewing Guide for Resource Packages
Real-Time Monitor
Auxiliary Development Tools
Access Management
Advanced Features
FAQs
uni-app FAQs
Purchase
SDK
Account Authentication
User Profile and Relationship Chain
Message
Group
Audio-Video Group
Nickname and Profile Photo
Security Compliance Certification
Service Level Agreement
Security Compliance Certification
Chat Policies
Privacy Policy
Data Privacy and Security Agreement
Migration
Migration Solutions
Migration Solutions Lite
Error Codes
Contact Us

JavaScript

PDF
Focus Mode
Font Size
Last updated: 2025-01-07 16:09:07

Feature Overview

With group attributes, you can manage the seats of audio chat rooms. When a user mics on, you can set a group attribute to manage the information of the user. When the user mics off, you can delete the group attribute. Other members can get the list of group attributes to display the seat list.
Note:
Topic does not support group attributes.
The group attribute feature has the following characteristics:
1. You can configure up to 16 group attributes. The size of each group attribute can be up to 4 KB, and the total size of all group attributes can be up to 16 KB. When you modify group attributes for the first time after each successful login, call getGroupAttributes to pull the latest group attributes before you initiate the modification operation again.
2. When multiple users modify the same group attributes at the same time, only the first user can execute successfully, and other users will receive the 10056 error code. After receiving this error code, please call getGroupAttributes to update the locally stored group attributes to the latest before you initiate the modification operation.
3. Before you use this feature in an AVChatRoom after successful login, you need to call the joinGroupAPI to join the audio-video group. For a public group (Public), meeting group (Meeting), work group (Work), and community group (Community), you do not need to join the group again.

Initializing group attributes

The access side needs to control the operation permissions of this interface according to the application scenario. After successful initialization, all group members will receive a GROUP_ATTRIBUTES_UPDATED event.
API
chat.initGroupAttributes(options);
Parameters
The options parameter is of the Object type. It contains the following attribute values:
Name
Type
Description
groupID
String
Group ID
groupAttributes
Object
Group attributes
Return value
Promise
Examples
let promise = chat.initGroupAttributes({
groupID: 'group1',
groupAttributes: { key1: 'value1', key2: 'value2' }
});
promise.then(function(imResponse) {
console.log(imResponse.data.groupAttributes); // Group attributes initialized successfully
}).catch(function(imError) {
console.warn('initGroupAttributes error:', imError); // Error information
});

Setting group attributes

API
chat.setGroupAttributes(options);
Parameters
The options parameter is of the Object type. It contains the following attribute values:
Name
Type
Description
groupID
String
Group ID
groupAttributes
Object
Group attributes
Return value
Promise
Examples
let promise = chat.setGroupAttributes({
groupID: 'group1',
groupAttributes: { key1: 'value1', key2: 'value2' }
});
promise.then(function(imResponse) { // Set successfully
console.log(imResponse.data.groupAttributes); // Group attributes set successfully
}).catch(function(imError) { // Setting failed
console.warn('setGroupAttributes error:', imError); // Error information
});

Deleting group attributes

Note:
To delete specified group attributes (key-value pairs), pass in a non-empty array for keyList. To delete all group attributes, pass in an empty array for keyList.
API
chat.deleteGroupAttributes(options);
Parameters
The options parameter is of the Object type. It contains the following attribute values:
Name
Type
Description
groupID
String
Group ID
keyList
Array
List of keys of the group attributes
Return value
Promise
Examples
// Delete the `key-value` of the specified group attributes
let promise = chat.deleteGroupAttributes({
groupID: 'group1',
keyList: ['key1', 'key2']
});
promise.then(function(imResponse) {
console.log(imResponse.data.keyList); // List of group attributes deleted successfully
}).catch(function(imError) {
console.warn('deleteGroupAttributes error:', imError); // Error information
});
// Delete all group attributes
let promise = chat.deleteGroupAttributes({
groupID: 'group1',
keyList: []
});
promise.then(function(imResponse) {
console.log(imResponse.data.keyList); // List of group attributes deleted successfully
}).catch(function(imError) {
console.warn('deleteGroupAttributes error:', imError); // Error information
});

Getting group attributes

Note:
To get specified group attributes, pass in a non-empty array for keyList. To get all group attributes, pass in an empty array for keyList.
API
chat.getGroupAttributes(options);
Parameters
The options parameter is of the Object type. It contains the following attribute values:
Name
Type
Description
groupID
String
Group ID
keyList
Array
List of keys of the group attributes
Return value
Promise
Examples
// Get specified group attributes
let promise = chat.getGroupAttributes({
groupID: 'group1',
keyList: ['key1', 'key2']
});
promise.then(function(imResponse) { // Got successfully
console.log(imResponse.data.groupAttributes); // Specified group attributes
}).catch(function(imError) { // Getting failed
console.warn('getGroupAttributes error:', imError); // Error information
});
// Get all group attributes
let promise = chat.getGroupAttributes({
groupID: 'group1',
keyList: []
});
promise.then(function(imResponse) { // Got successfully
console.log(imResponse.data.groupAttributes); // All group attributes
}).catch(function(imError) { // Getting failed
console.warn('getGroupAttributes error:', imError); // Error information
});

Listening for group attributes update event

Examples
let onGroupAttributesUpdated = function(event) {
const groupID = event.data.groupID // Group ID
const groupAttributes = event.data.groupAttributes //Updated group properties
console.log(event.data);
};
chat.on(TencentCloudChat.EVENT.GROUP_ATTRIBUTES_UPDATED, onGroupAttributesUpdated);


Help and Support

Was this page helpful?

Help us improve! Rate your documentation experience in 5 mins.

Feedback