IM 即时通讯
Windows/macOS
开发指南

群成员管理

更新时间: 2024/01/19 11:14:54

网易云信 NIM SDK 支持用户查询、添加、移除群组成员,管理成员角色等功能,拥有完善的成员权限体系及管理功能,群组内所有用户根据权限分为群主、管理员、以及普通成员。

技术原理

C++

网易云信 NIM SDK 的 nim::Team 提供管理群组成员的相关方法,帮助您快速实现和使用群组的成员权限体系及管理功能。

群组中有三种角色,群主(kNIMTeamUserTypeCreator ),群组管理员(kNIMTeamUserTypeManager )以及群组普通成员(kNIMTeamUserTypeNomal ),具体请参见NIMTeamUserType

  • 群主默认为群组创建者,后续可通过 TransferTeamAsync 转让群主身份。
  • 群组管理员由群主分配,群主通过 AddManagersAsync 添加群组管理员。
  • 用户进入群组后,默认为群组的普通成员,后续可联系群主修改角色。
  • NIMTeamUserType中还包含 kNIMTeamUserTypeApplykNIMTeamUserTypeLocalWaitAccept 类型,表示待审核的申请加入用户和本地记录等待入群的用户。
C

网易云信 NIM SDK 的 nim_team 提供管理群组成员的相关方法,帮助您快速实现和使用群组的成员权限体系及管理功能。

群组中有三种角色,群主(kNIMTeamUserTypeCreator ),群组管理员(kNIMTeamUserTypeManager )以及群组普通成员(kNIMTeamUserTypeNomal )。

  • 群主默认为群组创建者,后续可通过 nim_team_transfer_team_async 转让群主身份。
  • 群组管理员由群主分配,群主通过 nim_team_add_managers_async 添加群组管理员。
  • 用户进入群组后,默认为群组的普通成员,后续可联系群主修改角色。
  • NIMTeamUserType中还包含 kNIMTeamUserTypeApplykNIMTeamUserTypeLocalWaitAccept 类型,表示待审核的申请加入用户和本地记录等待入群的用户。
C#

网易云信 NIM SDK 的 NIM.Team 提供管理群组成员的相关方法,帮助您快速实现和使用群组的成员权限体系及管理功能。

群组中有三种角色,群主(kNIMTeamUserTypeCreator ),群组管理员(kNIMTeamUserTypeManager )以及群组普通成员(kNIMTeamUserTypeNomal )。

  • 群主默认为群组创建者,后续可通过 TransferTeamAdmin 转让群主身份。
  • 群组管理员由群主分配,群主通过 AddTeamManagers 添加群组管理员。
  • 用户进入群组后,默认为群组的普通成员,后续可联系群主修改角色。
  • NIMTeamUserType中还包含 kNIMTeamUserTypeApplykNIMTeamUserTypeLocalWaitAccept 类型,表示待审核的申请加入用户和本地记录等待入群的用户。

前提条件

管理群组管理员

添加群组管理员

群主添加管理员后,所有群成员会收到群组通知消息(消息类型为 kNIMMessageTypeNotification ),触发事件为kNIMNotificationIdTeamAddManager

只有群主才拥有添加群组管理员的权限。

C++

通过调用AddManagersAsync 方法添加群组管理员。

参数说明:

参数 说明
tid 群ID
ids 添加的群管理员账号列表
json_extension 自定义扩展字段
cb 添加管理员的回调函数

示例代码:

void OnTeamEventCallback(const nim::TeamEvent& result)
{
	···
}

foo()
{
	std::list<std::string> uids_list;
	uids_list.push_back("user_id");
	nim::Team::AddManagersAsync("tid_", uids_list, &OnTeamEventCallback);
}

错误码:

状态码 说明
200 成功
802 没有权限
803 群组不存在
805 群类型错误
C

通过调用nim_team_add_managers_async 方法添加群组管理员。

示例代码:

void CallbackTeamOperate(int error, int team_operate, const char *tid, const char* str, const char *json_exten, const void *user_data)
{
	if (error == kNIMResSuccess)
	{
		...
	}
	else
	{
		...
	}
}

typedef void(*nim_team_add_managers_async)(const char *tid, const char *jsonlist_admin_ids, const char *json_extension, nim_team_event_cb_func cb, const void* user_data);

void foo()
{
	Json::Value values;
	values.append("user_id");

	nim_team_add_managers_async func = (nim_team_add_managers_async) GetProcAddress(hInst, "nim_team_add_managers_async");
	func("tid", values.toStyledString().c_str(), nullptr, &CallbackTeamOperate, nullptr);
}
C#

通过调用AddTeamManagers 方法添加群组管理员。

示例代码:

NIM.Team.TeamAPI.AddTeamManagers("_teamId", new string[] {"uid"}, (ret) =>
{
	···
});

移除群组管理员

群主移除群管理员后, 所有群成员会收到群组通知消息(消息类型为 kNIMMessageTypeNotification ),触发事件为kNIMNotificationIdTeamRemoveManager

只有群主拥有移除群组管理员的权限。

C++

通过调用 RemoveManagersAsync 方法来移除群组管理员。

参数说明:

参数 说明
tid 群ID
ids 移除的群管理员账号列表
json_extension 自定义扩展字段
cb 移除管理员的回调函数

示例代码:

void OnTeamEventCallback(const nim::TeamEvent& result)
{
	···
}

foo()
{
	std::list<std::string> uids_list;
	uids_list.push_back("user_id");
	nim::Team::RemoveManagersAsync("tid_", uids_list, &OnTeamEventCallback);
}

错误码:

状态码 说明
200 成功
802 没有权限
803 群组不存在
805 群类型错误
C

通过调用 nim_team_remove_managers_async 方法来移除群组管理员。

示例代码:

void CallbackTeamOperate(int error, int team_operate, const char *tid, const char* str, const char *json_exten, const void *user_data)
{
	if (error == kNIMResSuccess)
	{
		...
	}
	else
	{
		...
	}
}

typedef void(*nim_team_remove_managers_async)(const char *tid, const char *jsonlist_admin_ids, const char *json_extension, nim_team_event_cb_func cb, const void* user_data);

void foo()
{
	Json::Value values;
	values.append("user_id");

	nim_team_remove_managers_async func = (nim_team_remove_managers_async) GetProcAddress(hInst, "nim_team_remove_managers_async");
	func("tid", values.toStyledString().c_str(), nullptr, &CallbackTeamOperate, nullptr);
}
C#

通过调用 RemoveTeamManagers 方法来移除群组管理员。

示例代码:

NIM.Team.TeamAPI.RemoveTeamManagers("_teamId", new string[] {"uid"}, (ret) =>
{
	···
});

修改群成员信息

修改群组成员的昵称

群主和群管理员修改群成员昵称后,所有群成员会收到群组通知消息(消息类型为 kNIMMessageTypeNotification ),触发事件为kNIMNotificationIdTeamSyncUpdateMemberProperty

只有群主有修改群组成员的群昵称的权限。

C++

通过调用 UpdateOtherNickAsync 来修改群组成员的群昵称。

参数说明:

参数 说明
prop 群成员属性,具体请参见TeamMemberProperty
json_extension 自定义扩展字段
cb 修改群成员信息的回调函数

示例代码:

TeamMemberProperty property;
property.member_info_json_value_ = params;
Team::UpdateOtherNickAsync(property, [this](const TeamEvent& team_event) {
	// process team event
});

错误码:

状态码 说明
200 成功
802 没有权限
803 群组不存在
804 用户不在群组中
805 群类型错误
C

通过调用 nim_team_update_other_nick_async 来修改群组成员的群昵称。

示例代码:

static void CallbackFunc(int res_code,
    int notification_id,
    const char* tid,
    const char* result,
    const char* json_extension,
    const void* user_data) {
    // process result
}
const char* team_member_json;
// ...
nim_team_update_other_nick_async(team_member_json, "", &CallbackFunc, NULL);
C#

通过调用 UpdateMemberNickName 来修改群组成员的群昵称。

修改自己在群组中信息

修改自己的群成员属性后,所有群成员会收到群组通知消息(消息类型为 kNIMMessageTypeNotification ),触发事件为kNIMNotificationIdTeamSyncUpdateMemberProperty

C++

通过调用 UpdateMyPropertyAsync 来修改自己在群组中的信息。

参数说明:

参数 说明
prop 群成员属性,具体请参见TeamMemberProperty
json_extension 自定义扩展字段
cb 修改群成员信息的回调函数

示例代码:

TeamMemberProperty property;
property.member_info_json_value_ = params;
Team::UpdateMyPropertyAsync(property, [this](const TeamEvent& team_event) {
	// process team event
});

错误码:

状态码 说明
200 成功
803 群组不存在
804 用户不在群组中
805 群类型错误
C

通过调用 nim_team_update_my_property_async 来修改自己在群组中的信息。

示例代码:

static void CallbackFunc(int res_code,
    int notification_id,
    const char* tid,
    const char* result,
    const char* json_extension,
    const void* user_data) {
    // process result
}
const char* team_member_json;
// ...
nim_team_update_my_property_async(team_member_json, "", &CallbackFunc, NULL);
C#

通过调用 UpdateMyTeamProperty 来修改自己在群组中的信息。

禁言群组成员

群组全体禁言

只有群主才有禁言全体成员或取消全员禁言的权限。

群组全员禁言分为两种模式。

  • 若群组的禁言模式 NIMTeamMuteTypekNIMTeamMuteTypeAllMute,那么调用该接口禁言的对象是包含群主和管理员的所有成员。
  • 若群组的禁言模式 NIMTeamMuteTypekNIMTeamMuteTypeNomalMute ,那么调用该接口禁言的对象是全体普通成员,不包括群主和管理员。
C++

通过调用 MuteAsync 方法来禁言群组全体成员或解除全体成员的禁言。

参数说明:

参数 说明
tid 群ID
set_mute 是否禁言全体成员。
true:表示禁言
false:表示解除禁言
json_extension 自定义扩展字段
cb 禁言的回调函数

示例代码:

Team::MuteAsync("tid", true, [this](const TeamEvent& team_event) {
	// process team event
});

错误码:

状态码 说明
200 成功
414 参数错误
C

通过调用 nim_team_mute_async 方法来禁言群组全体成员或解除全体成员的禁言。

示例代码:

static void CallbackFunc(int res_code,
    int notification_id,
    const char* tid,
    const char* result,
    const char* json_extension,
    const void* user_data) {
    // process result
}
nim_team_mute_async("tid", true, "", &CallbackFunc, NULL);
C#

通过调用 MuteTeam 方法来禁言群组全体成员或解除全体成员的禁言。

禁言指定群成员

修改群成员禁言状态后, 禁言或解除禁言后,所有群成员会收到群组通知消息(消息类型为 kNIMMessageTypeNotification ),触发事件为kNIMNotificationIdTeamMuteMember

只有群主才能禁言指定群成员。

C++

通过调用 MuteMemberAsync 来修改群成员的的禁言状态。

参数说明:

参数 说明
tid 群ID
member_id 操作对象账号
set_mute 是否禁言。
true:表示禁言
false:表示解除禁言
json_extension 自定义扩展字段
cb 禁言的回调函数

示例代码:

void CallbackMuteMember(const TeamEvent& team_event)
{
	//自定义实现
	char log[128];
	sprintf_s(log, "id: %s, rescode: %d, tid: %s", GetTeamEventCommandText((nim::NIMNotificationId)team_event.notification_id_).c_str(), team_event.res_code_, team_event.team_id_.c_str());
	MessageBoxA(nullptr, log, "team_event", 0);
}

void foo(const std::string& team_id, const std::string& account_id, bool mute)
{
	Team::MuteMemberAsync(team_id, account_id, bool, &CallbackMuteMember);
}

错误码:

状态码 说明
200 成功
414 参数错误
404 禁言对象不存在
803 群组不存在
802 没有权限
C

通过调用 nim_team_mute_member_async 来修改群成员的的禁言状态。

示例代码:

nim_team_mute_member_async(const char *tid, const char *member_id, bool set_mute, const char *json_extension, nim_team_opt_cb_func cb, const void *user_data);

解析nim_team_opt_cb_func回调的结果示例:

//nim_cpp_team.cpp
static void CallbackTeamChange(int res_code, int notification_id, const char *tid, const char *result, const char *json_extension, const void *user_data)
{
	if (user_data)
	{
		Team::TeamEventCallback* cb_pointer = (Team::TeamEventCallback*)user_data;
		if (*cb_pointer)
		{
			TeamEvent team_event;
			ParseTeamEvent(res_code, PCharToString(tid), (nim::NIMNotificationId)notification_id, PCharToString(result), team_event);
			(*cb_pointer)(team_event);
		}
		delete cb_pointer;
	}
}
C#

通过调用 SetMemberMuted 来修改群成员的的禁言状态。

示例代码:

NIM.Team.TeamAPI.SetMemberMuted("_teamId", "user_id", true, (ret) =>
{
	if (ret.TeamEvent.ResponseCode == NIM.ResponseCode.kNIMResSuccess)
	{
		···
	}
});

查询群组成员

查询操作有可能只是从本地数据库读取缓存数据,也有可能会从服务器同步新的数据, 因此耗时可能会比较长。

查询群组成员信息

C++

通过调用 QueryTeamMembersAsync 方法来查询群组成员。

参数说明:

参数 说明
tid 群ID
json_extension 自定义扩展字段
cb 查询群成员的回调函数

示例代码:

void OnGetTeamMembers(const std::string& team_id, int count, const std::list<nim::TeamMemberProperty>& team_member_list)
{
	for (const auto& member : team_member_list)
	{
		···
	}
}

foo()
{
	nim::Team::QueryTeamMembersAsync("tid_", &OnGetTeamMembers);
}

错误码:

状态码 说明
200 成功
406 没有变化
802 没有权限
C

通过调用 nim_team_query_team_members_async 方法来查询群组成员。

可以通过参数来设置是否需要查询成员详细信息以及是否包含无效成员。

示例代码:

void CallbackQueryTeamMembersCb(const char * tid, int count, bool include_user_info, const char* str, const char *json_exten, const void *user_data)
{
	//解析str
}

typedef void(*nim_team_query_team_members_async)(const char *tid, bool include_user_info, const char *json_extension, nim_team_query_team_members_cb_func cb, const void* user_data);

void foo()
{
	nim_team_query_team_members_async func = (nim_team_query_team_members_async) GetProcAddress(hInst, "nim_team_query_team_members_async");
	func("tid", include_user_info ? true : false, nullptr, &CallbackQueryTeamMembersCb, nullptr);
}

:::

C#

通过调用 QueryTeamMembersInfo 方法来查询群组成员。

可以通过参数来设置是否需要查询成员详细信息以及是否包含无效成员。

示例代码:

NIM.Team.TeamAPI.QueryTeamMembersInfo("_teamId", (info) =>
{
	if (info != null)
	{
		foreach (var i in info)
		{
			···
		}
	}
});

:::

查询指定群组成员信息

C++

通过异步调用 QueryTeamMemberAsync 或同步调用QueryTeamMemberBlock 方法根据群组 ID 和成员账号来查询指定群组成员信息。

参数说明:

参数 说明
tid 群ID
id 群成员id
json_extension 自定义扩展字段
cb 查询群成员的回调函数

示例代码:

//异步
void OnQueryMyTeamMemberInfo(const std::string& tid, const nim::TeamMemberProperty& team_member_info)
{
	...
}

foo()
{
	nim::Team::QueryTeamMemberAsync("tid_","accid_", OnQueryMyTeamMemberInfo);
}

C

通过异步调用 nim_team_query_team_member_async 或同步调用nim_team_query_team_member_block 方法根据群组 ID 和成员账号来查询指定群组成员信息。

示例代码:

//异步
void CallbackQueryTeamMember(const char *tid, const char *accid, const char *result, const char *json_extension, const void *user_data)
{
	//解析result
}

typedef void(*nim_team_query_team_member_async)(const char *tid, 	const char *accid, const char *json_extension, nim_team_query_team_member_cb_func cb, const void *user_data);

void foo()
{
	nim_team_query_team_member_async func = (nim_team_query_team_member_async) GetProcAddress(hInst, "nim_team_query_team_member_async");
	func("tid", "accid", nullptr, &CallbackQueryTeamMember, nullptr);
}

C#

通过异步调用 QuerySingleMemberInfo 或同步调用QuerySingleMemberInfo 方法根据群组 ID 和成员账号来查询指定群组成员信息。

示例代码:

//异步

NIM.Team.TeamAPI.QuerySingleMemberInfo("_teamId", "_accid",(info) =>
{
	...
});

查询所有群中关于自己的信息

C++

通过调用 QueryMyAllMemberInfosAsync 方法来查询所有群组中关于自己的成员信息。

参数说明:

参数 说明
json_extension 自定义扩展字段
cb 查询群成员的回调函数

示例代码:

Team::QueryMyAllMemberInfosAsync([this](int count, const std::list<TeamMemberProperty>& props) {
	// process props
});
C

通过调用 nim_team_query_my_all_member_infos_async 方法来查询所有群组中关于自己的成员信息。

示例代码:

static void CallbackFunc(int count, const char* result, const char* json_extension, const void* user_data) {
    // process result
}
nim_team_query_my_all_member_infos_async("", &CallbackFunc, NULL);
C#

通过调用 QueryMyInfoInEachTeam 方法来查询所有群组中关于自己的成员信息。

获取所有群列表后,需要查询自己在每个群中自己的成员信息,使用成员信息中的 bits 字段,可以判断当某个群发来消息后,是否做消息通知。

查询群成员的邀请者

群成员入群邀请人为空表示主动入群,没有邀请人。

C++

通过调用 QueryTeamMembersInvitor 来查询群组成员的邀请者。

参数说明:

参数 说明
tid 群ID
members 需要查询邀请者的群成员账号列表,一次最多查200个
当群成员数量小于等于 200 时为可选参数,不填默认查全部成员; 群成员数量大于 200 时,需要将成员列表分批多次调用查询。
cb 查询群成员的回调函数

示例代码:

Team::QueryTeamMembersInvitor("tid", {"member1", "member2"},
		[this](NIMResCode res_code, const std::string& tid, const std::map<std::string, std::string>& invitor_map) {
			// process result
		});
C

通过调用 nim_team_query_members_invitor 来查询群组成员的邀请者。

示例代码:

static void CallbackFunc(int res_code, const char* tid, const char* result, const void* user_data) {
    // process result
}
nim_team_query_members_invitor("tid", "[\"member1\", \"member2\"]", &,NULL)

查询被禁言的群成员

C++

通过调用 QueryMuteListOnlineAsync 方法来查询被禁言的群成员。

示例代码:

void CallbackQueryMembersInfoOnline(NIMResCode error_code, const std::string& tid, const std::list<TeamMemberProperty>& team_member_propertys)
{
	//自定义实现
	std::string ids;
	for (auto iter = team_member_propertys.begin(); iter != team_member_propertys.end(); ++iter)
	{
		ids.append(iter->GetAccountID());
		ids.append(",");
	}
	char log[1024];
	sprintf_s(log, 1024, "tid: %s, member_count: %d\r\nids: %s", tid.c_str(), team_member_propertys.size(),ids.c_str());
	MessageBoxA(nullptr, log, "CallbackQueryMembersInfoOnline", 0);
}

void foo(const std::string& team_id)
{
	Team::QueryMuteListOnlineAsync(team_id, &CallbackQueryMembersInfoOnline);
}

错误码:

状态码 说明
200 成功
803 群组不存在
802 没有权限
C

通过调用 nim_team_query_mute_list_online_async 方法来查询被禁言的群成员。

示例代码:

nim_team_query_mute_list_online_async(const char *tid, const char *json_extension, nim_team_query_mute_list_cb_func cb, const void *user_data)

解析nim_team_query_mute_list_cb_func回调的结果示例:

//nim_team_helper.cpp
void ParseTeamMemberPropertyJson(const Json::Value& team_member_prop_json, TeamMemberProperty& team_member_property)
{
	team_member_property.SetUserType((nim::NIMTeamUserType)team_member_prop_json[nim::kNIMTeamUserKeyType].asInt());
	if (team_member_property.GetUserType() != nim::kNIMTeamUserTypeApply && team_member_property.GetUserType() != nim::kNIMTeamUserTypeLocalWaitAccept)
	{
		team_member_property.SetAccountID(team_member_prop_json[nim::kNIMTeamUserKeyAccID].asString());
		team_member_property.SetNick(team_member_prop_json[nim::kNIMTeamUserKeyNick].asString());
		team_member_property.SetBits(team_member_prop_json[nim::kNIMTeamUserKeyBits].asUInt64());
		team_member_property.SetCreateTimetag(team_member_prop_json[nim::kNIMTeamUserKeyCreateTime].asUInt64());
		team_member_property.SetUpdateTimetag(team_member_prop_json[nim::kNIMTeamUserKeyUpdateTime].asUInt64());
		team_member_property.SetTeamID(team_member_prop_json[nim::kNIMTeamUserKeyID].asString());
		team_member_property.SetValid(team_member_prop_json[nim::kNIMTeamUserKeyValidFlag].asUInt() == 0 ? false : true);
		team_member_property.SetCustom(team_member_prop_json[nim::kNIMTeamUserKeyCustom].asString());
		team_member_property.SetMute(team_member_prop_json[nim::kNIMTeamUserKeyMute].asInt() == 1);
	}
}

//nim_cpp_team.cpp
static void CallbackQueryMembersOnline(int res_code, int count, const char *tid, const char *result, const char *json_extension, const void *user_data)
{
	if (user_data)
	{
		Team::QueryTeamMembersOnlineCallback* cb_pointer = (Team::QueryTeamMembersOnlineCallback*)user_data;
		if (*cb_pointer)
		{
			Json::Value values;
			Json::Reader reader;
			std::list<TeamMemberProperty> members;
			if (reader.parse(PCharToString(result), values) && values.isArray())
			{
				auto size = values.size();
				for (size_t i = 0; i < size; i++)
				{
					TeamMemberProperty prop;
					ParseTeamMemberPropertyJson(values[i], prop);
					members.push_back(prop);
				}
			}
			(*cb_pointer)((NIMResCode)res_code, PCharToString(tid), members);
		}
		delete cb_pointer;
	}
}
C#

通过调用 QueryMutedListOnlineAsync 方法来查询被禁言的群成员。

示例代码:

NIM.Team.TeamAPI.QueryMutedListOnlineAsync(tid, (res, count, id, members) => 
{
	//自定义实现
	DemoTrace.WriteLine("禁言列表:",res, count, id, members.Dump());
});

API 参考

C++
API
说明
AddManagersAsync 添加群组管理员
RemoveManagersAsync 移除群组管理员
UpdateOtherNickAsync 修改群组成员的昵称
UpdateMyPropertyAsync 修改自己在群组中的信息
MuteMemberAsync 修改指定群组成员禁言状态
MuteAsync 禁言群组全体成员
QueryTeamMembersInvitor 查询群组成员的邀请者
QueryTeamMembersAsync 查询群组成员
QueryTeamMemberAsync 查询指定群组成员信息(异步接口)
QueryTeamMemberBlock 查询指定群组成员信息(同步接口)
QueryMyAllMemberInfosAsync 查询所有群组中关于自己的成员信息
QueryMuteListOnlineAsync 查询被禁言的群组成员
C
API
说明
nim_team_add_managers_async 添加群组管理员
nim_team_remove_managers_async 移除群组管理员
nim_team_update_other_nick_async 修改群组成员的昵称
nim_team_update_my_property_async 修改自己在群组中的信息
nim_team_mute_member_async 修改指定群组成员禁言状态
nim_team_mute_async 禁言群组全体成员
nim_team_query_members_invitor 查询群组成员的邀请者
nim_team_query_team_members_async 查询群组成员
nim_team_query_team_member_async 查询指定群组成员信息(异步接口)
nim_team_query_team_member_block 查询指定群组成员信息(同步接口)
nim_team_query_my_all_member_infos_async 查询所有群组中关于自己的成员信息
nim_team_query_mute_list_online_async 查询被禁言的群组成员
C#
API
说明
AddTeamManagers 添加群组管理员
RemoveTeamManagers 移除群组管理员
UpdateMemberNickName 修改群组成员的昵称
UpdateMyTeamProperty 修改自己在群组中的信息
SetMemberMuted 修改指定群组成员禁言状态
MuteTeam 禁言群组全体成员
QueryTeamMembersInfo 查询群组成员
QuerySingleMemberInfo 查询指定群组成员信息(异步接口)
QuerySingleMemberInfo 查询指定群组成员信息(同步接口)
QueryMyInfoInEachTeam 查询所有群组中关于自己的成员信息
QueryMutedListOnlineAsync 查询被禁言的群组成员
此文档是否对你有帮助?
有帮助
去反馈
  • 技术原理
  • 前提条件
  • 管理群组管理员
  • 添加群组管理员
  • 移除群组管理员
  • 修改群成员信息
  • 修改群组成员的昵称
  • 修改自己在群组中信息
  • 禁言群组成员
  • 群组全体禁言
  • 禁言指定群成员
  • 查询群组成员
  • 查询群组成员信息
  • 查询指定群组成员信息
  • 查询所有群中关于自己的信息
  • 查询群成员的邀请者
  • 查询被禁言的群成员
  • API 参考