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
포커스 모드
폰트 크기
마지막 업데이트 시간: 2025-01-24 09:51:05

Feature Overview

A community is a large group of people brought together by common topics, and multiple topics can be created under the same community based on different interests. A community is used to manage members. All its topics are shared among members, who can send and receive messages independently.

UI Display





Community Group Management

Creating a community group

API
chat.createGroup(options);
Examples
// Create a topic-enabled community
let promise = chat.createGroup({
type: TencentCloudChat.TYPES.GRP_COMMUNITY,
name: 'WebSDK',
isSupportTopic: true,
});
promise.then(function(imResponse) { // Created successfully
console.log(imResponse.data.group); // Profile of the created group
}).catch(function(imError){
console.warn('createGroup error:', imError); // Error information
});

Getting the list of topic-enabled communities

Note:
1. This API is supported only by topic-enabled communities. You need to Purchase Pro edition 、Pro Plus edition or Enterprise edition, log in to the Chat Console and enable the community switch. The switch path is: Applications > Your App > Chat > Configuration > Group Configuration > Community. Once the switch is enabled, you can use it.
API
chat.getJoinedCommunityList();
Parameters
None
Return value
Promise
Examples
// Get the list of topic-enabled communities
let promise = chat.getJoinedCommunityList();
promise.then(function(imResponse) { // Got successfully
console.log(imResponse.data.groupList); // List of topic-enabled communities
}).catch(function(imError) { // Getting failed
console.warn('getJoinedCommunityList error:', imError); // Failure message
});

Creating a topic

Note:
Before using this API, you must call createGroup to create a topic-enabled community.
API
chat.createTopicInCommunity(options);
Parameters
The options parameter is of the Object type. It contains the following attribute values:
Name
Type
Description
groupID
String
Community ID of the topic
topicName
String
Topic name
topicID
String
A custom topic ID must be in the format of "community ID + custom topic ID", such as "@TGS#_xxx@TOPIC#_xxx".
avatar
String
Topic profile photo
notification
String
Topic notice
introduction
String
Topic introduction
customData
String
Custom topic information
Return value
Promise
Examples
// Create a topic
let promise = chat.createTopicInCommunity({
groupID: 'group1',
topicName: 'test',
avatar: 'xxx'
notification: 'xxx',
introduction: 'xxx',
customData: 'xxxx',
});
promise.then(function(imResponse) { // Created successfully
console.log(imResponse.data.topicID); // Topic ID
}).catch(function(imError) { // Creation failed
console.warn('createTopicInCommunity error:', imError); // Failed to create the topic
});

Deleting a topic

API
chat.deleteTopicFromCommunity(options);
Parameters
The options parameter is of the Object type. It contains the following attribute values:
Name
Type
Description
groupID
String
Community ID of the topic
topicIDList
Array | undefined
List of topic IDs. If it is not passed in, all the topics are deleted.
Return values
Promise
Examples
// Delete a specified topic under a community
let promise = chat.deleteTopicFromCommunity({
groupID: 'group1',
topicIDList: ['topicID']
});
promise.then(function(imResponse) { // Deleted successfully
const { successTopicList, failureTopicList } = imResponse.data;
// List of topics deleted successfully
successTopicList.forEach((item) => {
const { topicID } = item;
});
// List of topics failed to be deleted
failureTopicList.forEach((item) => {
const { topicID, code, message } = item;
});
}).catch(function(imError) { // Deletion failed
console.warn('deleteTopicFromCommunity error:', imError); // Failed to delete the topic
});
// dissolve the community and delete all topics of this community.
let promise = chat.dismissGroup('group1');
promise.then(function(imResponse) {
console.log(imResponse.data.groupID);
}).catch(function(imError) {
console.warn('dismissGroup error:', imError);
});

Modifying the topic profile

Note:
After the update is successful, other members within the topic can receive the TencentCloudChat.EVENT.TOPIC_UPDATED event.
API
chat.updateTopicProfile(options);
Parameters
The options parameter is of the Object type. It contains the following attribute values:
Name
Type
Description
groupID
String
Community ID of the topic
topicID
String
Topic ID, which is required
topicName
String | undefined
Topic name
avatar
String | undefined
Topic profile photo
notification
String | undefined
Topic notice
introduction
String | undefined
Topic introduction
customData
String | undefined
Custom topic information
muteAllMembers
Boolean | undefined
Muting all. Valid values:
true: mute all;
false: unmute all.
Return value
Promise
Examples
// Update the topic profile
let promise = chat.updateTopicProfile({
groupID: 'group1',
topicID: 'topic1',
topicName: 'test',
avatar: 'xxx'
notification: 'xxx',
introduction: 'xxx',
customData: 'xxxx',
muteAllMembers: true
});
promise.then(function(imResponse) { // Topic profile set successfully
console.log(imResponse.data.topic); // Modified topic profile
}).catch(function(imError) { // Failed to set the topic profile
// Information on the failure in setting the topic profile
console.warn('updateTopicProfile error:', imError);
});

Getting the topic list

API
chat.getTopicList(options);
Parameters
The options parameter is of the Object type. It contains the following attribute values:
Name
Type
Description
groupID
String
Community ID of the topic
topicIDList
Array | undefined
List of topic IDs. If it is not passed in, all the topics are obtained.
Return value
Promise
Examples
// Get a specified topic
let promise = chat.getTopicList({
groupID: 'group1',
topicIDList: ['topicID'],
});
promise.then(function(imResponse) { // Got successfully
const { successTopicList, failureTopicList } = imResponse.data;
// List of topics got successfully
successTopicList.forEach((item) => {
const { topicID } = item;
});
// List of topics failed to be got
failureTopicList.forEach((item) => {
const { topicID, code, message } = item;
})
}).catch(function(imError) { // Getting failed
console.warn('getTopicList error:', imError); // Information on the failure in getting the topic list
});
// Get all the topics
let promise = chat.getTopicList({
groupID: 'group1',
});
promise.then(function(imResponse) { // Got successfully
const { successTopicList, failureTopicList } = imResponse.data;
// List of topics got successfully
successTopicList.forEach((item) => {
const { topicID } = item;
});
// List of topics failed to be got
failureTopicList.forEach((item) => {
const { topicID, code, message } = item;
})
}).catch(function(imError) { // Getting failed
console.warn('getTopicList error:', imError); // Information on the failure in getting the topic list
});

Listening for topic update event

Examples
let onTopicCreated = function(event) {
const groupID = event.data.groupID // ID of the community to which the topic belongs
const topicID = event.data.topicID // Topic ID
console.log(event.data);
};
chat.on(TencentCloudChat.EVENT.TOPIC_CREATED, onTopicCreated);
let onTopicDeleted = function(event) {
const groupID = event.data.groupID // ID of the community to which the topic belongs
const topicIDList = event.data.topicIDList // List of deleted topic IDs
console.log(event.data);
};
chat.on(TencentCloudChat.EVENT.TOPIC_DELETED, onTopicDeleted);
let onTopicUpdated = function(event) {
const groupID = event.data.groupID // ID of the community to which the topic belongs
const topic = event.data.topic // Topic profile
console.log(event.data);
};
chat.on(TencentCloudChat.EVENT.TOPIC_UPDATED, onTopicUpdated);


도움말 및 지원

문제 해결에 도움이 되었나요?

피드백