TencentImSDKPlugin.v2TIMManager.getGroupManager() core class.userID), group card (nameCard), avatar (faceUrl), nickname (nickName), join time (joinTime), online status (isOnline), and additional attributes.isOnline) is only available with Pro, Pro Plus or Enterprise edition.filter)getGroupMemberList API, you can specify filter to pull the list of the information of specified roles.Filter | Type |
GroupMemberFilterTypeEnum.V2TIM_GROUP_MEMBER_FILTER_ALL | Pull the list of the information of all the group members |
GroupMemberFilterTypeEnum.V2TIM_GROUP_MEMBER_FILTER_OWNER | Pull the list of the information of the group owner |
GroupMemberFilterTypeEnum.V2TIM_GROUP_MEMBER_FILTER_ADMIN | Pull the list of the information of the group admin |
GroupMemberFilterTypeEnum.V2TIM_GROUP_MEMBER_FILTER_COMMON | Pull the information list of ordinary group members |
nextSeq)getGroupMemberList for the first time, set nextSeq to 0 (indicating to pull the group member list from the beginning). Up to 50 group member objects can be pulled at a time.V2TIMGroupMemberInfoResult callback of getGroupMemberList will contain nextSeq (field for the next pull):nextSeq is 0, all the group members have been pulled.nextSeq is greater than 0, there are more group members that can be pulled. This doesn't mean that the next page of the member list will be pulled immediately. In common communications software, a paged pull is often triggered by a swipe operation.getGroupMemberList API and pass in the nextSeq parameter (the value is from the V2TIMGroupMemberInfoResult object returned by the last pull) for the next pull.nextSeq is 0.{...String nextSeq = '0';await getGroupMemberList(nextSeq);...}Future<void> getGroupMemberList(String nextSeq) async {// Use the `filter` parameter to specify only the profile of the group owner is to be pulledfinal result = await TencentImSDKPlugin.v2TIMManager.getGroupManager().getGroupMemberList(filter: GroupMemberFilterTypeEnum.V2TIM_GROUP_MEMBER_FILTER_ADMIN,nextSeq: currentNextSeq,groupID: 'your_group_id');if (result.data?.nextSeq != '0') {// Make another pullawait getGroupMemberList(result.data?.nextSeq);}}
muteGroupMember and set muteTime (in seconds) to mute a group member. If muteTime is set to 120, the member is muted for 120 seconds.muteTime to 0.muteUntil indicates the end time for muting a group member.onMemberInfoChanged callback.isMute field to true. The entire group can be muted for an unlimited period of time.
// Mute the group member `userB` for 1 minutefinal result = await TencentImSDKPlugin.v2TIMManager.getGroupManager().muteGroupMember(groupID: 'your_group_id',userID: 'userB',seconds: 60);// Mute all membersfinal result = await TencentImSDKPlugin.v2TIMManager.getGroupManager().muteAllGroupMembers(groupID: 'your_group_id',isMute: true);TencentImSDKPlugin.v2TIMManager.addGroupListener(listener: V2TimGroupListener(onMemberInfoChanged: (String groupID, List<V2TimGroupMemberChangeInfo> v2TIMGroupMemberChangeInfoList) {// Muted group member callbackfor (var memberChangeInfo in v2TIMGroupMemberChangeInfoList) {// Muted user IDString userID = memberChangeInfo.userID ?? '';// Muted timeint muteTime = memberChangeInfo.muteTime ?? 0;}},onAllGroupMembersMuted: (String groupID, bool isMute) {// All-member mute callback}));
kickGroupMember API to remove a specified ordinary group member from the group.onMemberKicked callback.muteGroupMember to mute a specified member to implement similar controls.final result = await TencentImSDKPlugin.v2TIMManager.getGroupManager().kickGroupMember(groupID: 'your_group_id',memberList: ['target_user_id']);
setGroupMemberRole to set a group member in a public group (Public) or meeting group (Meeting) as the admin.onGrantAdministrator callback.onRevokeAdministrator callback.final result = await TencentImSDKPlugin.v2TIMManager.getGroupManager().setGroupMemberRole(groupID: 'your_group_id',userID: 'target_user_id',role: GroupMemberRoleTypeEnum.V2TIM_GROUP_MEMBER_ROLE_ADMIN);// Listen for the role changeTencentImSDKPlugin.v2TIMManager.addGroupListener(listener: V2TimGroupListener(onGrantAdministrator: (String groupID, V2TimGroupMemberInfo info, List<V2TimGroupMemberInfo> infolist){},onRevokeAdministrator: (String groupID, V2TimGroupMemberInfo info, List<V2TimGroupMemberInfo> infolist){},));
onGroupInfoChanged callback. Here, the type of V2TIMGroupChangeInfo is V2TIMGroupChangeInfo.V2TIM_GROUP_INFO_CHANGE_TYPE_OWNER, and the value is the UserID of the new group owner.final result = await TencentImSDKPlugin.v2TIMManager.getGroupManager().transferGroupOwner(groupID: 'your_group_id',userID: 'target_user_id');
final result = await TencentImSDKPlugin.v2TIMManager.getGroupManager().getGroupOnlineMemberCount(groupID: 'your_group_id');
文档反馈