TencentImSDKPlugin.v2TIMManager.getGroupManager()
中。getGroupMemberList
(Details) 获取指定群的群成员列表。该列表中包含了各个群成员的资料信息,例如用户 ID(userID
)、群名片(nameCard
)、头像(faceUrl
)、昵称(nickName
)、进群时间(joinTime
)等信息。filter
)和分页拉取(nextSeq
)两个高级特性。过滤器 | 过滤类型 |
GroupMemberFilterTypeEnum.V2TIM_GROUP_MEMBER_FILTER_ALL | 拉取所有群成员的信息列表 |
GroupMemberFilterTypeEnum.V2TIM_GROUP_MEMBER_FILTER_OWNER | 仅拉取群主的信息列表 |
GroupMemberFilterTypeEnum.V2TIM_GROUP_MEMBER_FILTER_ADMIN | 仅拉取群管理员的信息列表 |
GroupMemberFilterTypeEnum.V2TIM_GROUP_MEMBER_FILTER_COMMON | 仅拉取普通群成员的信息列表 |
// 通过 filter 参数指定只拉取群主的资料const groupID = "groupID";const count = 10;const filter = GroupMemberFilterTypeEnum.V2TIM_GROUP_MEMBER_FILTER_ADMIN;const offset = 0;const nextSeq = "0";groupManager.getGroupMemberList(groupID, filter, nextSeq, count, offset);
getGroupMemberList
时,指定参数 nextSeq
为 0(表示从头开始拉取会话列表),一次最多拉取 50 个群成员对象。getGroupMemberList
的回调结果 V2TIMGroupMemberInfoResult
中会包含 nextSeq
(下次分页拉取的字段):nextSeq
等于 0,表示已经拉取了全部的群成员。nextSeq
大于 0,表示还有更多的群成员可以拉取。此时并不意味着要立刻开始拉取 “下一页” 的成员列表。在常见的通信软件中,分页拉取通常由用户的滑动操作触发的,用户通过上拉触发一次分页拉取。getGroupMemberList
接口,并传入新一轮的 nextSeq
参数(nextSeq
数值来自上一次拉取返回的 V2TIMGroupMemberInfoResult
对象)。nextSeq
等于 0,拉取结束。// 通过 filter 参数指定只拉取群主的资料const groupID = "groupID";const count = 10;const filter = GroupMemberFilterTypeEnum.V2TIM_GROUP_MEMBER_FILTER_ADMIN;const offset = 0;const nextSeq = "0";groupManager.getGroupMemberList(groupID, filter, nextSeq, count, offset);
setGroupInfo
(Details) 接口对整个群进行禁言,将 allMuted
属性字段设置为 true
即可。全群禁言没有时间限制,需通过将群资料 setAllMuted(false)
解除禁言。onGroupInfoChanged
(Details) 事件回调,该功能默认是关闭的,可在控制台内自行开通。
方式: 进入即时通信 IM 控制台群组配置模块,选择群系统通知配置,为各种类型群,单击操作中编辑,修改“群禁言变更通知”,即可。
只有群主能将管理员禁言。// 禁言群成员 userB 10分钟const groupID = "groupID";const userID = "userID";const seconds = 10;groupManager.muteGroupMember(groupID, userID, seconds);// 全员禁言groupManager.setGroupInfo({isAllMuted: true,groupID: "",groupType: "Public",});TencentImSDKPlugin.v2TIMManager.addGroupListener({onMemberInfoChanged: (groupID, v2TIMGroupMemberChangeInfoList) => {//群成员信息更改},onGroupInfoChanged: (groupID, info) => {// 群信息修改},});
muteGroupMember
(Details) 禁言指定成员达到类似的成员管控的目的。禁言操作参见 禁言。groupManager.kickGroupMember("groupID", []);
groupManager.setGroupMemberRole("groupID","userID",GroupMemberRoleTypeEnum.V2TIM_GROUP_MEMBER_ROLE_ADMIN);// 监听角色更改TencentImSDKPlugin.v2TIMManager.addGroupListener({onMemberInfoChanged: (groupID, v2TIMGroupMemberChangeInfoList) => {},onGroupInfoChanged: (groupID, info) => {},onGrantAdministrator: (groupID, info, infolist) => {},onRevokeAdministrator: (groupID, info, infolist) => {},});
V2TIMGroupChangeInfo
的 type 为 V2TIMGroupChangeInfo.V2TIM_GROUP_INFO_CHANGE_TYPE_OWNER
,value 值为新群主的 UserID。groupManager.transferGroupOwner("groupID", "userID");
groupManager.getGroupOnlineMemberCount("groupID");
本页内容是否解决了您的问题?