memberCount
), use getGroupMemberProfile
.count
parameter and return up to 500 group members per query by default.userID
, nick
, avatar
, and joinTime
. If you need to set nick
and avatar
, call updateMyProfile
.chat.getGroupMemberList(options);
options
parameter is of the Object
type. It contains the following attribute values:Name | Type | Description |
groupID | String | Group ID |
count | Number | Number of group members to be pulled. Default value: 15 . Maximum value: 100 . Too large a response packet will cause a request failure. If more than 100 group members are passed in, only the first 100 group members are pulled. |
offset | Number | Offset value. By default, the pull will start from 0 . |
Promise
// Pull 30 group members starting from 0let promise = chat.getGroupMemberList({ groupID: 'group1', count: 30, offset:0 });promise.then(function(imResponse) {console.log(imResponse.data.memberList); // Group member list}).catch(function(imError){console.warn('getGroupMemberList error:', imError);});
// Pull 30 group members starting from 0promise.then(function(imResponse) {let promise = chat.getGroupMemberList({ groupID: 'group1', count: 30, offset:0 });console.log(imResponse.data.memberList); // Group member listfor (let groupMember of imResponse.data.memberList) {if (groupMember.muteUntil * 1000 > Date.now()) {console.log(`${groupMember.userID} muted`);} else {console.log(`${groupMember.userID} not muted`);}}}).catch(function(imError){console.warn('getGroupMemberProfile error:', imError);});
// the Premium edition supports getting the online member list of an audio-video group.let promise = chat.getGroupMemberList({ groupID: 'group1', offset:0 }); // Pull from 0 by defaultpromise.then(function(imResponse) {console.log(imResponse.data.memberList); // Group member list}).catch(function(imError){console.warn('getGroupMemberList error:', imError);});
topicID
for groupID
.chat.setGroupMemberMuteTime(options);
options
parameter is of the Object
type. It contains the following attribute values:Name | Type | Description |
groupID | String | Group ID or topic ID |
userID | String | The user ID. |
muteTime | Number | Muting duration, in seconds. For example, if the muting duration is set to 1000, the user is muted for 1,000 seconds immediately. If the muting duration is set to 0, the user is unmuted. |
Promise
let promise = chat.setGroupMemberMuteTime({groupID: 'group1',userID: 'user1',muteTime: 600 // The user is muted for ten minutes. If the value is set to `0`, the user is unmuted.});promise.then(function(imResponse) {console.log(imResponse.data.group); // New group profileconsole.log(imResponse.data.member); // New group member profile}).catch(function(imError){console.warn('setGroupMemberMuteTime error:', imError); // Error information});
// Set the period for muting a group member in the topiclet promise = chat.setGroupMemberMuteTime({groupID: 'topicID',userID: 'user1',muteTime: 600 // The user is muted for ten minutes. If the value is set to `0`, the user is unmuted.});promise.then(function(imResponse) {console.log(imResponse.data.group); // New group profileconsole.log(imResponse.data.member); // New group member profile}).catch(function(imError){console.warn('setGroupMemberMuteTime error:', imError); // Error information});
let promise = chat.updateGroupProfile({groupID: 'group1',muteAllMembers: true, // `true`: mute all; `false`: unmute all});promise.then(function(imResponse) {console.log(imResponse.data.group) // Detailed group profile after modification}).catch(function(imError){console.warn('updateGroupProfile error:', imError); // Error information});
duration
, in seconds) is supported only by audio-video groups (AVChatRoom).chat.deleteGroupMember(options);
options
parameter is of the Object
type. It contains the following attribute values:Name | Type | Description |
groupID | String | Group ID or topic ID |
userIDList | Array | List of IDs of the group members to be removed |
reason | String | undefined | Reason for removing a member |
duration | Number | Removal duration, which must be greater than 0 (This field is supported only by audio-video groups.) |
Promise
// Remove a member from a group other than an audio-video grouplet promise = chat.deleteGroupMember({groupID: 'group1',userIDList:['user1'],reason: 'You are kicked out because you have violated the group rules.'});promise.then(function(imResponse) {console.log(imResponse.data.group); // Group profile after group member removalconsole.log(imResponse.data.userIDList); // List of userID of the removed group member}).catch(function(imError){console.warn('deleteGroupMember error:', imError); // Error information});
// The Premium edition supports removing members from an audio-video grouplet promise = chat.deleteGroupMember({groupID: 'group1',userIDList:['user1'],reason: 'You are kicked out because you have violated the group rules.',duration: 60});promise.then(function(imResponse) {console.log(imResponse.data.group); // Group profile after group member removalconsole.log(imResponse.data.userIDList); // List of userID of the removed group member}).catch(function(imError){console.warn('deleteGroupMember error:', imError); // Error information});
chat.setGroupMemberRole(options);
options
parameter is of the Object
type. It contains the following attribute values:Name | Type | Description |
groupID | String | Group ID or topic ID |
userID | String | The user ID. |
role | String | Valid values: TencentCloudChat.TYPES.GRP_MBR_ROLE_ADMIN (group admin), TencentCloudChat.TYPES.GRP_MBR_ROLE_MEMBER (ordinary group member), TencentCloudChat.TYPES.GRP_MBR_ROLE_CUSTOM (custom group member role, which is supported only by the community) |
Promise
let promise = chat.setGroupMemberRole({groupID: 'group1',userID: 'user1',role: TencentCloudChat.TYPES.GRP_MBR_ROLE_ADMIN // Set user1 as the admin of group1.});promise.then(function(imResponse) {console.log(imResponse.data.group); // New group profileconsole.log(imResponse.data.member); // New group member profile}).catch(function(imError){console.warn('setGroupMemberRole error:', imError); // Error information});
memberCount
returned by the SDK is 0
. We recommend you call this API only once every 5-10 seconds.chat.getGroupOnlineMemberCount(groupID);
Name | Type | Description |
groupID | String | Group ID |
Promise
// Get the number of online users in an audio-video grouplet promise = chat.getGroupOnlineMemberCount('group1');promise.then(function(imResponse) {console.log(imResponse.data.memberCount);}).catch(function(imError){console.warn('getGroupOnlineMemberCount error:', imError); // Error information});
Was this page helpful?