IM 即时通讯
Windows/macOS
产品介绍
简介
主要功能
产品优势
海外数据中心
IM平滑迁移方案
接口及业务限制
功能介绍
帐号集成与登录
基础消息功能
群组功能
聊天室功能
聊天室标签功能
圈组功能
多端登录与互踢策略
质量数据监控台
更新日志
Demo 更新日志
NIM SDK 更新日志
快速开始
实现单聊消息收发(不含 UI)
实现圈组消息收发(不含 UI)
开发指南
概要介绍
集成方式(当前版本)
集成方式(Windows旧版本)
集成方式(macOS旧版本)
初始化
登录登出
消息收发
最近会话
历史记录
用户资料托管
好友关系托管
事件订阅
系统通知
系统通知概述
内置系统通知管理
内置系统通知未读数
自定义系统通知收发
群组功能
群组概述
群组管理
群成员管理
群消息管理
超大群功能
开通聊天室功能
聊天室
圈组功能
初始化
登录圈组
圈组服务器管理
圈组服务器成员管理
游客功能
频道相关
频道管理
频道分组
频道分组黑白名单
频道未读数管理
搜索服务器和频道
身份组相关
身份组概述
身份组应用场景
服务器身份组
频道身份组
频道分组身份组
频道用户定制权限
自定义权限项
成员权限判定
身份组相关查询
圈组订阅机制
圈组消息相关
圈组消息收发
圈组消息撤回
圈组消息更新
圈组消息删除
会话消息回复(Thread)
圈组快捷评论
获取频道最后一条消息
消息正在输入
圈组消息搜索
圈组消息查询
查询@我的消息
服务器未读数
圈组系统通知
圈组系统通知概述
圈组系统通知收发
圈组系统通知更新
圈组各端接口命名差异
语音录制与播放
NOS云存储服务
文档转换
API 参考
Windows/macOS API 参考
状态码
IM 控制台指南
创建应用
注册 IM 账号
升级服务
配置应用客户端标识
参考文档
升级指引
开发示例
UI库指南
Demo源码导读
打包发布
类与常量定义说明
常见问题
FAQ
服务协议

圈组服务器成员管理

更新时间: 2023/03/08 19:34:13

使用限制

服务器存在如下与其成员数量相关的限制:

  • 单个用户的服务器的数量上限(包括自己创建的和加入的)默认为 100 个。
  • 单个服务器可容纳人数上限默认为 500000。
可在云信控制台配置上述上限在云信控制台选择应用,进入IM 免费版/专业版 > 功能权限开通 > 拓展配置 > 圈组 > 高级配置 即可配置。

邀请

  • 拥有“邀请他人加入服务器的权限”(kPermissionIviteMember,具体权限类型请参见NIMQChatPermissions)的人可以向他人发起邀请,邀请别人加入圈组服务器。收到邀请通知的人可以接受或者拒绝邀请。
  • 拥有该权限的人也可以提前生成邀请码,其他用户可以直接使用邀请码加入圈组服务器。

邀请成员加入服务器

功能介绍

调用Invite 方法邀请用户加入服务器。

如果邀请失败,将通过QChatServerInviteResp返回邀请失败的成员列表以及邀请失败的原因(NIMQChatServerInviteFailReason)。

示例代码

QChatServerInviteParam param;
param.server_id = 123456;
param.invite_ids = {"accid1", "accid2"};
param.postscript = "your postscript";
param.cb = [this](const QChatServerInviteResp& resp) {
    if (resp.res_code != NIMResCode::kNIMResSuccess) {
        // error handling
        return;
    }
    // process response
    // ...
};
Server::Invite(param);

接受邀请

功能介绍

调用 AcceptInvite 方法接受加入服务器邀请。

示例代码

QChatServerAcceptInviteParam param;
param.server_id = 123456;
param.request_id = 123456;
param.accid = "accid1";
param.cb = [this](const QChatServerAcceptInviteResp& resp) {
    if (resp.res_code != NIMResCode::kNIMResSuccess) {
        // error handling
        return;
    }
    // process response
    // ...
};
Server::AcceptInvite(param);

拒绝邀请

功能介绍

调用 RejectInvite 方法拒绝加入服务器邀请。

示例代码

QChatServerRejectInviteParam param;
param.server_id = 123456;
param.accid = "accid1";
param.request_id = 123456;
param.postscript = "your postscript";
param.cb = [this](const QChatServerRejectInviteResp& resp) {
    if (resp.res_code != NIMResCode::kNIMResSuccess) {
        // error handling
        return;
    }
    // process response
    // ...
};
Server::RejectInvite(param);

生成邀请码

拥有“邀请他人加入服务器的权限”(kPermissionIviteMember,具体权限类型请参见NIMQChatPermissions)的人可以提前生成邀请码,其他用户可以直接使用提供的邀请码加入圈组服务器。

功能介绍

调用 GenerateInviteCode 方法生成邀请码。

示例代码

QChatServerGenerateInviteCodeParam param;
param.server_id = 123456;
param.cb = [this](const QChatServerGenerateInviteCodeResp& resp) {
    if (resp.res_code != NIMResCode::kNIMResSuccess) {
        // error handling
        return;
    }
    // process response
    // ...
};
Server::GenerateInviteCode(param);

申请

申请加入服务器

功能介绍

调用 Apply 方法申请加入服务器。

示例代码

QChatServerApplyParam param;
param.server_id = 123456;
param.postscript = "your postscript";
param.cb = [this](const QChatServerApplyResp& resp) {
    if (resp.res_code != NIMResCode::kNIMResSuccess) {
        // error handling
        return;
    }
    // process response
    // ...
};
Server::Apply(param);

接收申请

功能介绍

调用 AcceptApply 方法同意加入服务器申请。

示例代码

QChatServerAcceptApplyParam param;
param.server_id = 123456;
param.request_id = 123456;
param.accid = "accid1";
param.cb = [this](const QChatServerAcceptApplyResp& resp) {
    if (resp.res_code != NIMResCode::kNIMResSuccess) {
        // error handling
        return;
    }
    // process response
    // ...
};
Server::AcceptApply(param);

拒绝申请

功能介绍

调用 RejectApply 方法拒绝加入服务器申请。

示例代码

QChatServerRejectApplyParam param;
param.server_id = 123456;
param.request_id = 123456;
param.accid = "accid1";
param.postscript = "your postscript";
param.cb = [this](const QChatServerRejectApplyResp& resp) {
    if (resp.res_code != NIMResCode::kNIMResSuccess) {
        // error handling
        return;
    }
    // process response
    // ...
};
Server::RejectApply(param);

通过邀请码加入服务器

用户可以通过收到的邀请码加入圈组服务器。

功能介绍

调用 JoinByInviteCode 方法通过邀请码加入圈组服务器。

示例代码

QChatServerJoinByInviteCodeParam param;
param.server_id = 123456;
param.invite_code = "123456";
param.cb = [this](const QChatServerJoinByInviteCodeResp& resp) {
    if (resp.res_code != NIMResCode::kNIMResSuccess) {
        // error handling
        return;
    }
    // process response
    // ...
};
Server::JoinByInviteCode(param);

踢出服务器成员

功能介绍

调用 Kick 方法将指定用户踢出服务器。

示例代码

QChatServerKickParam param;
param.server_id = 123456;
param.accids = {"accid1", "accid2"};
param.cb = [this](const QChatServerKickResp& resp) {
    if (resp.res_code != NIMResCode::kNIMResSuccess) {
        // error handling
        return;
    }
    // process response
    // ...
};
Server::Kick(param);

离开服务器

功能介绍

调用 Leave 方法离开指定服务器。

示例代码

QChatServerLeaveParam param;
param.server_id = 123456;
param.cb = [this](const QChatServerLeaveResp& resp) {
    if (resp.res_code != NIMResCode::kNIMResSuccess) {
        // error handling
        return;
    }
    // process response
    // ...
};
Server::Leave(param);

更新服务器成员信息

功能介绍

调用 UpdateMemberInfo 方法更新服务器成员信息。

参数说明

参数 类型 说明
anti_spam_info {} QChatBusinessAntiSpamInfo 配置反垃圾信息,可配置反垃圾文本业务 ID 或 反垃圾图片业务 ID。

示例代码

QChatServerUpdateMemberInfoParam param;
param.member_info.server_id = 123456;
param.member_info.accid = "accid1";
param.member_info.nick = "nick";
param.member_info.avatar = "avatar url";
param.member_info.custom = "custom info";
param.anti_spam_info.text_bid = "anti spam text business id";
param.anti_spam_info.pic_bid = "anti spam pic business id";
param.cb = [this](const QChatServerUpdateMemberInfoResp& resp) {
    if (resp.res_code != NIMResCode::kNIMResSuccess) {
        // error handling
        return;
    }
    // process response
    // ...
};
Server::UpdateMemberInfo(param);

查询服务器成员信息

按照服务器ID和Accid查询

功能介绍

调用 GetServerMembers 方法查询服务器成员列表。

示例代码

QChatServerGetMembersParam param;
param.server_accid_list = {{123456, "accid1"}, {123456, "accid2"}, {456789, "accid3"}}
param.cb = [this](const QChatServerGetMembersResp& resp) {
    if (resp.res_code != NIMResCode::kNIMResSuccess) {
        // error handling
        return;
    }
    // process response
    // ...
};
Server::GetServerMembers(param);

按照时间分页查询

功能介绍

调用 GetServerMembersByPage 方法按成员加入服务器的时间倒序(由近及远)分页查询服务器成员列表。

示例代码

QChatServerGetMembersPageParam param;
param.server_id = 123456;
param.timestamp = 0;
param.limit = 20;
param.cb = [this](const QChatServerGetMembersPageResp& resp) {
    if (resp.res_code != NIMResCode::kNIMResSuccess) {
        // error handling
        return;
    }
    // process response
    // ...
};
Server::GetServerMembersByPage(param);

查询申请/邀请的历史记录

查询服务器下的申请/邀请记录

功能介绍

调用 GetInviteApplyRecordOfServer 方法查询服务器下的申请/邀请的历史记录。

查询服务器下的申请/邀请记录,需要拥有申请邀请历史查看权限(kPermissionGetServerInviteApplyRecords,具体权限类型请参见NIMQChatPermissions)。

示例代码

QChatServerGetInviteApplyRecordOfServerParam param;
param.server_id = 123456;
param.start_time = 0;
param.end_time = 0; // no time range limit
param.limit = 20;
param.reverse = false;
param.exclude_record_id = 0; // no record to exclude
param.cb = [this](const QChatServerGetInviteApplyRecordOfServerResp& resp) {
    if (resp.res_code != NIMResCode::kNIMResSuccess) {
        // error handling
        return;
    }
    // process response
    // ...
};
Server::GetInviteApplyRecordOfServer(param);

查询本人的申请/邀请记录

功能介绍

调用 GetInviteApplyRecordOfSelf 方法查询本人的申请和邀请历史记录。

查询本人的申请/邀请记录,需要拥有申请邀请历史查看权限(kPermissionGetServerInviteApplyRecords,具体权限类型请参见NIMQChatPermissions)。

示例代码

QChatServerGetInviteApplyRecordOfServerParam param;
param.start_time = 0;
param.end_time = 0; // no time range limit
param.limit = 20;
param.reverse = false;
param.exclude_record_id = 0; // no record to exclude
param.cb = [this](const QChatServerGetInviteApplyRecordOfSelfResp& resp) {
    if (resp.res_code != NIMResCode::kNIMResSuccess) {
        // error handling
        return;
    }
    // process response
    // ...
};
Server::GetInviteApplyRecordOfSelf(param);

封禁成员

功能介绍

调用 BanMember 方法封禁服务器成员。进行该操作需要拥有封禁其他成员的权限。

示例代码

QChatServerBanMemberParam param;
param.server_id = 123456;
param.accid = "accid";
param.custom = "custom";
param.cb = [this](const QChatServerBanMemberResp& resp) {
    if (resp.res_code != NIMResCode::kNIMResSuccess) {
        // error handling
        return;
    }
    // process response
    // ...
};
Server::BanMember(param);

解封成员

功能介绍

调用 UnbanMember 方法解封服务器成员。进行该操作需要拥有封禁其他成员的权限。

示例代码

QChatServerUnbanMemberParam param;
param.server_id = 123456;
param.accid = "accid";
param.custom = "custom";
param.cb = [this](const QChatServerUnbanMemberResp& resp) {
    if (resp.res_code != NIMResCode::kNIMResSuccess) {
        // error handling
        return;
    }
    // process response
    // ...
};
Server::UnbanMember(param);

查询封禁成员

功能介绍

调用 GetBannedMembersByPage 方法分页查询服务器内被封禁的成员。

示例代码

QChatServerGetBannedMembersPageParam param;
param.server_id = 123456;
param.timestamp = 0;
param.limit = 100;
param.cb = [this](const QChatServerGetBannedMembersPageResp& resp) {
    if (resp.res_code != NIMResCode::kNIMResSuccess) {
        // error handling
        return;
    }
    // process response
    // ...
};
Server::GetBannedMembersByPage(param);
此文档是否对你有帮助?
有帮助
我要吐槽
  • 使用限制
  • 邀请
  • 邀请成员加入服务器
  • 功能介绍
  • 示例代码
  • 接受邀请
  • 功能介绍
  • 示例代码
  • 拒绝邀请
  • 功能介绍
  • 示例代码
  • 生成邀请码
  • 功能介绍
  • 示例代码
  • 申请
  • 申请加入服务器
  • 功能介绍
  • 示例代码
  • 接收申请
  • 功能介绍
  • 示例代码
  • 拒绝申请
  • 功能介绍
  • 示例代码
  • 通过邀请码加入服务器
  • 功能介绍
  • 示例代码
  • 踢出服务器成员
  • 功能介绍
  • 示例代码
  • 离开服务器
  • 功能介绍
  • 示例代码
  • 更新服务器成员信息
  • 功能介绍
  • 参数说明
  • 示例代码
  • 查询服务器成员信息
  • 按照服务器ID和Accid查询
  • 功能介绍
  • 示例代码
  • 按照时间分页查询
  • 功能介绍
  • 示例代码
  • 查询申请/邀请的历史记录
  • 查询服务器下的申请/邀请记录
  • 功能介绍
  • 示例代码
  • 查询本人的申请/邀请记录
  • 功能介绍
  • 示例代码
  • 封禁成员
  • 功能介绍
  • 示例代码
  • 解封成员
  • 功能介绍
  • 示例代码
  • 查询封禁成员
  • 功能介绍
  • 示例代码