Android

服务器成员管理

更新时间: 2024/03/14 16:36:32

NIM SDK 的QChatServerService类提供了管理服务器成员的方法,包括加入服务器、离开服务器、将成员踢出服务器和封禁成员等。

服务器成员定义

SDK 的QChatServerMember类定义了服务器成员。该类的内置方法如下:

点击展开查看 QChatServerMember 的内置方法
方法 类型 说明
getAccid String 成员的云信 IM 账号
getAvatar String 成员在服务器内展示的头像
getCreateTime long 服务器创建时间
getCustom String 成员的自定义扩展字段
getInviter String 邀请当前成员加入服务器的用户
getjoinTime long 成员加入服务器的时间
getNick String 成员昵称
getServerId long 服务器 ID
getType QChatMemberType 成员类型:
  • Normal:普通成员
  • Owner:服务器所有者,默认为服务器创建者
getUpdateTime long 更新时间
isValid boolean 有效标志

前提条件

使用限制

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

  • 单个用户的服务器的数量上限(包括自己创建的和加入的)默认为 100 个。
  • 单个服务器可容纳人数上限默认为 500000。

若需要扩展上限,可在控制台配置圈组子功能项(单个用户 server 数单 server 容纳人数),具体请参考开通和配置圈组功能

实现方法

加入服务器

用户可通过被邀请的方式加入服务器,也可通过主动申请加入服务器。

邀请用户加入

拥有“邀请他人加入服务器的权限”(QChatRoleResource.INVITE_SERVER)的用户,可邀请其他用户加入服务器。

如果没有该权限,无法成功发起邀请。服务器所有者默认拥有全部权限。权限通过身份组进行配置和管理,具体请参见身份组概述及其他身份组相关文档。


根据服务器的不同邀请模式(QChatInviteMode),被邀者成功加入服务器的流程略有不同。服务器的邀请模式,在创建服务器时配置,创建后也可修改。

“邀请需要同意”模式

如果服务器的邀请模式被设置为“邀请需要同意”,那么被邀方需要接受邀请才能加入服务器。

API调用时序

以下时序图可能因为网络问题显示异常。如显示异常,一般刷新当前页面即可正常显示。

uml diagram

流程说明

  1. 用户A 调用inviteServerMembers方法邀请多位用户加入服务器。

    调用时需传入被邀者的账号(accid)列表以及指定的服务器 ID(serverId)。还可以设置有效时长和邀请附言(最多 5000 个字符)。

    • 发起邀请后,被邀方将收到邀请服务器成员(QChatSystemNotificationType.SERVER_MEMBER_INVITE)的系统通知。
    • 如果邀请成员失败,可从该方法的回调(QChatInviteServerMembersResult)获取邀请失败的成员列表,如因为被封禁而无法邀请的成员列表。

    示例代码如下:

    List<String> accids = new ArrayList<>();
    accids.add("test");
    QChatInviteServerMembersParam param = new QChatInviteServerMembersParam(943445L,accids);
    param.setPostscript("邀请你加入测试服务器");
    NIMClient.getService(QChatServerService.class).inviteServerMembers(param).setCallback(
            new RequestCallback<QChatInviteServerMembersResult>() {
                @Override
                public void onSuccess(QChatInviteServerMembersResult result) {
                    //邀请成功,会返回因为用户服务器数量超限导致失败的accid列表
                    List<String> failedAccids = result.getFailedAccids();
                }
    
                @Override
                public void onFailed(int code) {
                    //邀请失败,返回错误code
                }
    
                @Override
                public void onException(Throwable exception) {
                    //邀请异常
                }
            });
    
  2. 被邀方接受或拒绝邀请。

    调用以下两个方法均需要传入接受加入的服务器ID(serverId)、邀请者账号(accid)以及邀请唯一标识(requestId)。其中requestId可以从邀请服务器成员(QChatSystemNotificationType.SERVER_MEMBER_INVITE)系统通知附件中获取,也可以通过调用getInviteApplyRecordOfServer方法查询服务器下的申请邀请记录来获取。

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

      示例代码如下:

      long requestId = getRequestId();
      NIMClient.getService(QChatServerService.class).acceptServerInvite(new QChatAcceptServerInviteParam(943445L,"test",requestId)).setCallback(
              new RequestCallback<Void>() {
                  @Override
                  public void onSuccess(Void param) {
                      //接受邀请成功
                  }
      
                  @Override
                  public void onFailed(int code) {
                      //接受邀请失败,返回错误code
                  }
      
                  @Override
                  public void onException(Throwable exception) {
                      //接受邀请异常
                  }
              });
      
    • 调用rejectServerInvite方法拒绝邀请。

      示例代码如下:

      long requestId = getRequestId();
      QChatRejectServerInviteParam param = new QChatRejectServerInviteParam(943445L,"test",requestId);
      param.setPostscript("拒绝邀请");
      NIMClient.getService(QChatServerService.class).rejectServerInvite(param).setCallback(
              new RequestCallback<Void>() {
                  @Override
                  public void onSuccess(Void param) {
                      //拒绝邀请成功
                  }
      
                  @Override
                  public void onFailed(int code) {
                      //拒绝邀请失败,返回错误code
                  }
      
                  @Override
                  public void onException(Throwable exception) {
                      //拒绝邀请异常
                  }
              });
      
      
“邀请不需要同意”模式

如果服务器的邀请模式被设置为“邀请不需要同意”,那么邀请方调用inviteServerMembers方法方法发起邀请后,被邀请方自动加入服务器。

示例代码如下:

List<String> accids = new ArrayList<>();
accids.add("test");
QChatInviteServerMembersParam param = new QChatInviteServerMembersParam(943445L,accids);
param.setPostscript("邀请你加入测试服务器");
NIMClient.getService(QChatServerService.class).inviteServerMembers(param).setCallback(
        new RequestCallback<QChatInviteServerMembersResult>() {
            @Override
            public void onSuccess(QChatInviteServerMembersResult result) {
                //邀请成功,会返回因为用户服务器数量超限导致失败的accid列表
                List<String> failedAccids = result.getFailedAccids();
            }

            @Override
            public void onFailed(int code) {
                //邀请失败,返回错误code
            }

            @Override
            public void onException(Throwable exception) {
                //邀请异常
            }
        });

申请加入

用户也可以主动申请加入某个服务器。根据服务器的不同申请模式,申请方成功加入服务器的流程略有不同。

“申请需要同意”模式

API 调用时序

以下时序图可能因为网络问题显示异常。如显示异常,一般刷新当前页面即可正常显示。

uml diagram

流程说明

  1. 申请方调用applyServerJoin方法主动申请加入某个服务器。调用时需要传入申请加入的服务器的 ID(serverId),还可以设置有效时长和申请附言(最多 5000 字符)。

    示例代码如下:

    QChatApplyServerJoinParam param = new QChatApplyServerJoinParam(943445L);
    param.setPostscript("申请加入服务器");
    NIMClient.getService(QChatServerService.class).applyServerJoin(param).setCallback(
            new RequestCallback<Void>() {
                @Override
                public void onSuccess(Void param) {
                    //申请加入服务器成功
                }
    
                @Override
                public void onFailed(int code) {
                    //申请加入服务器失败,返回错误code
                }
    
                @Override
                public void onException(Throwable exception) {
                    //申请加入服务器异常
                }
            });
    
  2. 该服务器内拥有“处理加入服务器申请的权限”(QChatRoleResource.SERVER_APPLY_HANDLE)的用户将收到申请加入服务器(QChatSystemNotificationType.SERVER_MEMBER_APPLY)的系统通知。收到申请通知的用户接受或拒绝申请。申请被同意,申请方才能加入服务器。

    接受或拒绝申请,需要拥有“处理加入服务器申请的权限”(SERVER_APPLY_HANDLE)。权限通过身份组进行配置和管理,具体请参见身份组概述及其他身份组相关文档。

    调用以下两个方法均需要传入拒绝加入的服务器的 ID(serverId)、申请者账号(accid)以及申请唯一标识(requestId)。其中requestId可以从申请加入服务器(QChatSystemNotificationType.SERVER_MEMBER_APPLY)系统通知附件中获取,也可以通过调用getInviteApplyRecordOfServer方法查询服务器下的申请邀请记录来获取。

    • 调用acceptServerApply方法接受申请。

      示例代码如下:

      long requestId = getRequestId();
      NIMClient.getService(QChatServerService.class).acceptServerApply(new QChatAcceptServerApplyParam(943445L,"test",requestId)).setCallback(
              new RequestCallback<Void>() {
                  public void onSuccess(Void param) {
                      //接受申请成功
                  }
      
                  @Override
                  public void onFailed(int code) {
                      //接受申请失败,返回错误code
                  }
      
                  @Override
                  public void onException(Throwable exception) {
                      //接受申请异常
                  }
              });
      
      
      
    • 调用rejectServerApply方法拒绝申请。

      示例代码如下:

      long requestId = getRequestId();
      QChatRejectServerApplyParam param = new QChatRejectServerApplyParam(943445L,"test",requestId);
      param.setPostscript("拒绝申请");
      NIMClient.getService(QChatServerService.class).rejectServerApply(param).setCallback(
              new RequestCallback<Void>() {
                  @Override
                  public void onSuccess(Void param) {
                      //拒绝邀请成功
                  }
      
                  @Override
                  public void onFailed(int code) {
                      //拒绝邀请失败,返回错误code
                  }
      
                  @Override
                  public void onException(Throwable exception) {
                      //拒绝邀请异常
                  }
              });
      
“申请不需要同意”模式

如果服务器的申请模式被设置为“申请不需要同意”,那么申请方调用applyServerJoin方法发起申请后,将自动加入服务器。

示例代码如下:

QChatApplyServerJoinParam param = new QChatApplyServerJoinParam(943445L);
param.setPostscript("申请加入服务器");
NIMClient.getService(QChatServerService.class).applyServerJoin(param).setCallback(
        new RequestCallback<Void>() {
            @Override
            public void onSuccess(Void param) {
                //申请加入服务器成功
            }

            @Override
            public void onFailed(int code) {
                //申请加入服务器失败,返回错误code
            }

            @Override
            public void onException(Throwable exception) {
                //申请加入服务器异常
            }
        });

通过邀请码加入

用户可通过服务器成员分享的邀请码(通过第三方应用分享,如微信)加入服务器。

  1. 用户A 调用generateInviteCode方法生成邀请码。调用时必须传入服务器 ID(serverId),邀请码有效期可不传。

    拥有“邀请他人加入服务器的权限”(QChatRoleResource.INVITE_SERVER)的服务器成员才能生成邀请码。权限通过身份组进行配置和管理,具体请参见身份组概述及其他身份组相关文档。


    示例代码如下:

    QChatGenerateInviteCodeParam param = new QChatGenerateInviteCodeParam(311254);
                //设置过期时间为1天
                param.setTtl(24 * 60 * 60 * 1000L);
                NIMClient.getService(QChatServerService.class).generateInviteCode(param).setCallback(
                        new RequestCallback<QChatGenerateInviteCodeResult>() {
                            @Override
                            public void onSuccess(QChatGenerateInviteCodeResult result) {
                                //生成邀请码成功
                            }
    
                            @Override
                            public void onFailed(int code) {
                                //生成邀请码失败
                            }
    
                            @Override
                            public void onException(Throwable exception) {
                                //生成邀请码异常
                            }
                        });
    
  2. 用户B 调用joinByInviteCode方法,通过邀请码加入服务器。 调用时必须传入服务器ID 和邀请码。

    示例代码如下:

    String inviteCode = getInviteCode();
    QChatJoinByInviteCodeParam param = new QChatJoinByInviteCodeParam(311254,inviteCode);
    NIMClient.getService(QChatServerService.class).joinByInviteCode(param).setCallback(new RequestCallback<Void>() {
        @Override
        public void onSuccess(Void result) {
            //通过邀请码加入服务器成功
        }
    
        @Override
        public void onFailed(int code) {
            //通过邀请码加入服务器失败
        }
    
        @Override
        public void onException(Throwable exception) {
            //通过邀请码加入服务器异常
        }
    });
    

退出服务器

用户既可以主动退出服务器,也可以被动退出,即被其他用户踢出服务器。

主动退出服务器

加入服务器后如不想继续待在此服务器中,用户可以调用leaveServer方法主动退出,调用时需传入服务器 ID。离开后将不再接收该服务器下的消息和通知。

示例代码如下:

NIMClient.getService(QChatServerService.class).leaveServer(new QChatLeaveServerParam(943445L)).setCallback(
        new RequestCallback<Void>() {
            @Override
            public void onSuccess(Void param) {
                //离开Server成功
            }

            @Override
            public void onFailed(int code) {
                //离开Serve失败,返回错误code
            }

            @Override
            public void onException(Throwable exception) {
                //离开Serve异常
            }
        });

踢出服务器成员

调用kickServerMembers方法将其他成员踢出服务器。调用时需要传入当前服务器 ID(serverId)和需要被踢出用户的accid列表。

调用该接口需拥有“踢出他人权限”(QChatRoleResource.KICK_SERVER)。权限通过身份组进行配置和管理,具体请参见身份组概述及其他身份组相关文档。


示例代码如下:

List<String> accids = new ArrayList<>();
accids.add("test");
NIMClient.getService(QChatServerService.class).kickServerMembers(new QChatKickServerMembersParam(943445L,accids)).setCallback(
        new RequestCallback<Void>() {
            @Override
            public void onSuccess(Void param) {
                //踢除成员成功
            }

            @Override
            public void onFailed(int code) {
                //踢除成员失败,返回错误code
            }

            @Override
            public void onException(Throwable exception) {
                //踢除成员异常
            }
        });

修改成员信息

V9.9.2 新增 “圈组用户资料复用 IM 用户资料” 的能力。

  • 如果某用户未配置自己的服务器成员信息,该用户进入服务器后的初始成员信息将直接复用对应的 IM 用户资料(目前仅支持复用昵称和头像)。

  • 如果某用户在未配置自己的服务器成员信息的情况下修改了自己的 IM 用户资料(昵称或头像),系统通知(通知类型NIMQChatSystemNotificationTypeMyMemberInfoUpdated)将触发,通知该用户需要在哪些服务器重新获取资料。

该功能需要在开通圈组功能的基础上额外开通后才能使用,具体请参考开通圈组功能

修改自己的成员信息

调用updateMyMemberInfo方法可修改自己在当前服务器的成员信息。调用时需要传入对应的服务器 ID 以及相应的修改项。支持对成员昵称、头像和自定义扩展的修改,9.1.0版本后可设置反垃圾配置QChatAntiSpamConfig(更多圈组反垃圾相关说明请参见圈组内容审核)。

示例代码如下:

QChatUpdateMyMemberInfoParam param = new QChatUpdateMyMemberInfoParam(943445L);
param.setNick("昵称2");
param.setCustom("xxxxx");
QChatAntiSpamConfig antiSpamConfig = new QChatAntiSpamConfig("用户配置的对某些资料内容另外的反垃圾的业务ID");
param.setAntiSpamBusinessId(antiSpamConfig);
NIMClient.getService(QChatServerService.class).updateMyMemberInfo(param).setCallback(new RequestCallback<QChatUpdateMyMemberInfoResult>() {
    @Override
    public void onSuccess(QChatUpdateMyMemberInfoResult result) {
        //修改成员信息成功,返回最新的成员信息
        QChatServerMember member = result.getMember();
    }

    @Override
    public void onFailed(int code) {
        //修改成员信息失败,返回错误code
    }

    @Override
    public void onException(Throwable exception) {
        //修改成员信息异常
    }
});

修改他人的成员信息

调用updateServerMemberInfo方法可修改其他成员的信息。

调用该方法需要拥有修改他人成员信息的权限(QChatRoleResource.ACCOUNT_INFO_OTHER)。

调用时需传入对应的服务器 ID (serverId)、待修改成员的账号(accid)以及相应的修改项。支持修改其他成员的昵称和头像,9.1.0版本后可设置反垃圾配置 QChatAntiSpamConfig。更多圈组反垃圾相关说明请参见圈组内容审核

示例代码如下:

QChatUpdateServerMemberInfoParam param = new QChatUpdateServerMemberInfoParam(943445L,"test");
param.setNick("昵称3");
QChatAntiSpamConfig antiSpamConfig = new QChatAntiSpamConfig("用户配置的对某些资料内容另外的反垃圾的业务ID");
param.setAntiSpamBusinessId(antiSpamConfig);
NIMClient.getService(QChatServerService.class).updateServerMemberInfo(param).setCallback(new RequestCallback<QChatUpdateServerMemberInfoResult>() {
    @Override
    public void onSuccess(QChatUpdateServerMemberInfoResult result) {
        //修改成员信息成功,返回最新的成员信息
        QChatServerMember member = result.getMember();
    }

    @Override
    public void onFailed(int code) {
        //修改成员信息失败,返回错误code
    }

    @Override
    public void onException(Throwable exception) {
        //修改成员信息异常
    }
});

成员封禁管理

封禁服务器成员

拥有封禁他人权限(QChatRoleResource.BAN_SERVER_MEMBER)的用户可调用banServerMember方法封禁某位服务器成员。调用时需传入服务器 ID(serverId)和待封禁成员的账号(accid)。

执行封禁操作,必须拥有封禁他人的权限。

被封禁的成员将直接被踢出服务器,且不能再申请加入服务器或被邀请加入服务器。某成员被封禁后,所有该服务器成员都会收到该封禁成员被踢的系统通知(QChatSystemNotificationType.SERVER_MEMBER_KICK)。

示例代码如下:

NIMClient.getService(QChatServerService.class).banServerMember(new QChatBanServerMemberParam(1607312,"test")).setCallback(
				new RequestCallback<Void>() {
					@Override
					public void onSuccess(Void param) {
						//操作成功
					}

					@Override
					public void onFailed(int code) {
						//操作失败,返回错误code
					}

					@Override
					public void onException(Throwable exception) {
						//操作异常
					}
				});

分页查询封禁成员列表

调用getBannedServerMembersByPage方法可分页查询某服务器下被封禁的成员列表。

该方法的入参包括服务器 ID (serverId)、查询时间戳(timeTag)和查询数量限制(limit),timeTag传 0 表示当前时间,limit 默认 100。 该方法的回参结构QChatGetBannedServerMembersByPageResult返回被封禁成员QChatBannedServerMember列表。

QChatBannedServerMember参数说明如下:

返回值类型 参数 说明
long getServerId() 获取服务器id
String getAccid() 获取用户accid
String getCustom() 获取自定义扩展
long getBanTime() 获取封禁时间
boolean isValid() 获取有效标志:false-无效,true-有效
long getCreateTime() 获取创建时间
long getUpdateTime() 获取更新时间

示例代码如下:

NIMClient.getService(QChatServerService.class).getBannedServerMembersByPage(new QChatGetBannedServerMembersByPageParam(1607312L,0L))
				.setCallback(new RequestCallback<QChatGetBannedServerMembersByPageResult>() {
					@Override
					public void onSuccess(QChatGetBannedServerMembersByPageResult result) {
						//操作成功
						List<QChatBannedServerMember> serverMemberBanInfoList = result.getServerMemberBanInfoList();
					}

					@Override
					public void onFailed(int code) {
						//操作失败,返回错误code
					}

					@Override
					public void onException(Throwable exception) {
						//操作异常
					}
				});

解封服务器成员

调用unbanServerMember方法可将已封禁用户解封。调用时需要传入服务器ID(serverId)和待解封成员账号(accid)。待解封的成员账号,可通过调用getBannedServerMembersByPage方法获取。

被解封的用户可正常申请加入服务器或被邀请加入服务器。

调用该方法需要拥有封禁他人权限(QChatRoleResource.BAN_SERVER_MEMBER)。

示例代码如下:

NIMClient.getService(QChatServerService.class).unbanServerMember(new QChatUnbanServerMemberParam(1607312,"test")).setCallback(
				new RequestCallback<Void>() {
					@Override
					public void onSuccess(Void param) {
						//操作成功
					}

					@Override
					public void onFailed(int code) {
						//操作失败,返回错误code
					}

					@Override
					public void onException(Throwable exception) {
						//操作异常
					}
				});

服务器成员查询

根据账号查询服务器成员

用户登录圈组且进入服务器后,如果需要检索当前服务器内的成员,可调用getServerMembers方法查询多个服务器成员的信息。 调用时需传入由服务器 ID (serverId)和用户账号(accid)组成的键值对列表(List<Pair<Long, String>>),Pair.first 填 serverId,Pair.second 填 accid)。

调用该方法时最多可传入 200 个 accid


示例代码如下:

List<Pair<Long,String>> serverIdAccidPairList = new ArrayList<>();
serverIdAccidPairList.add(new Pair<>(943445L,"test"));
QChatGetServerMembersParam param = new QChatGetServerMembersParam(serverIdAccidPairList);
NIMClient.getService(QChatServerService.class).getServerMembers(param).setCallback(new RequestCallback<QChatGetServerMembersResult>() {
    @Override
    public void onSuccess(QChatGetServerMembersResult result) {
        //查询Server成员信息成功,返回查询到的Server成员信息
        List<QChatServerMember> serverMembers = result.getServerMembers();
    }

    @Override
    public void onFailed(int code) {
        //查询Server成员信息失败,返回错误code
    }

    @Override
    public void onException(Throwable exception) {
        //查询Server成员信息异常
    }
});

分页查询服务器成员

用户登录圈组且进入服务器后,如需要获取当前服务器的成员,可调用getServerMembersByPage方法可按成员加入服务器的时间倒序(由近及远)分页查询圈组的服务器列表。

示例代码如下:

//当前时间往前查最多100条Server成员信息
NIMClient.getService(QChatServerService.class).getServerMembersByPage(new QChatGetServerMembersByPageParam(943445L,System.currentTimeMillis(),100)).setCallback(
        new RequestCallback<QChatGetServerMembersByPageResult>() {
            @Override
            public void onSuccess(QChatGetServerMembersByPageResult result) {
                //查询Server成员信息成功,返回查询到的Server成员信息
                List<QChatServerMember> serverMembers = result.getServerMembers();
            }

            @Override
            public void onFailed(int code) {
                //查询Server成员信息失败,返回错误code
            }

            @Override
            public void onException(Throwable exception) {
                //查询Server成员信息异常
            }
        });

申请与邀请记录查询

查询服务器记录

调用getInviteApplyRecordOfServer方法可查询服务器下的申请与邀请记录。调用时需要传入服务器 ID, 其他参数值可为空。

调用该方法需要拥有申请邀请历史查看权限(QChatRoleResource.INVITE_APPLY_HISTORY_QUERY)。

示例代码如下:

QChatGetInviteApplyRecordOfServerParam param = new QChatGetInviteApplyRecordOfServerParam(311254);
//设置查询开始时间,首次查询可不传
param.setFromTime(getFromTime());
//搜索查询结束时间,,首次查询可不传
param.setToTime(getToTime());
param.setLimit(100);
param.setReverse(false);
param.setExcludeRecordId(null);

NIMClient.getService(QChatServerService.class).getInviteApplyRecordOfServer(param).setCallback(
        new RequestCallback<QChatGetInviteApplyRecordOfServerResult>() {
            @Override
            public void onSuccess(QChatGetInviteApplyRecordOfServerResult result) {
                //
            }

            @Override
            public void onFailed(int code) {

            }

            @Override
            public void onException(Throwable exception) {

            }
        });

查询自己的记录

用户如果需要查询自己的申请或邀请记录,可调用getInviteApplyRecordOfSelf方法进行查询。

调用该方法需要拥有申请邀请记录的查看权限(QChatRoleResource.INVITE_APPLY_HISTORY_QUERY)。


示例代码如下:

QChatGetInviteApplyRecordOfSelfParam param = new QChatGetInviteApplyRecordOfSelfParam();
        //设置查询开始时间,首次查询可不传
        param.setFromTime(getFromTime());
        //搜索查询结束时间,,首次查询可不传
        param.setToTime(getToTime());
        param.setLimit(100);
        param.setReverse(false);
        param.setExcludeRecordId(null);

        NIMClient.getService(QChatServerService.class).getInviteApplyRecordOfSelf(param).setCallback(
                new RequestCallback<QChatGetInviteApplyRecordOfSelfResult>() {
                    @Override
                    public void onSuccess(QChatGetInviteApplyRecordOfSelfResult result) {
                        //
                    }

                    @Override
                    public void onFailed(int code) {

                    }

                    @Override
                    public void onException(Throwable exception) {

                    }
                });

相关参考

相关系统通知

圈组系统通知的类型在QChatSystemNotificationType枚举中定义,与服务器成员管理相关的内置系统通知类型如下:

枚举值 说明
SERVER_MEMBER_INVITE 邀请服务器成员
SERVER_MEMBER_INVITE_REJECT 拒绝邀请
SERVER_MEMBER_APPLY 申请加入服务器
SERVER_MEMBER_APPLY_REJECT 拒绝申请
SERVER_MEMBER_INVITE_DONE 用户已被邀请
SERVER_MEMBER_INVITE_ACCEPT 接受邀请
SERVER_MEMBER_APPLY_DONE 已申请加入服务器
SERVER_MEMBER_APPLY_ACCEPT 申请被接受
SERVER_MEMBER_KICK 踢除服务器成员
SERVER_MEMBER_LEAVE 主动退出服务器
SERVER_MEMBER_UPDATE 服务器成员的信息更新
SERVER_MEMBER_JOIN_BY_INVITE_CODE 用户通过邀请码加入服务器
SERVER_ENTER_LEAVE 服务器成员加入或退出服务器
MY_MEMBER_INFO_UPDATED 修改 IM 用户资料所触发的对服务器成员信息的联动修改

更多圈组系统通知相关说明,参见圈组系统通知

相关内容审核

修改自己或他人在服务器展示的成员信息(如昵称和头像)时,如果通过setAntiSpamBusinessId方法配置了安全通的业务 ID, 那么云信将会对成员资料进行“安全通”内容审核。antiSpamBusinessId代表安全通默认内容审核业务以外的自定义内容审核的业务 ID;如需新增自定义内容审核,请联系商务经理进行相关配置,然后前往云信控制台的安全通配置界面获取该业务 ID。

更多圈组内容审核相关说明,参见圈组内容审核

此文档是否对你有帮助?
有帮助
去反馈
  • 服务器成员定义
  • 前提条件
  • 使用限制
  • 实现方法
  • 加入服务器
  • 邀请用户加入
  • 申请加入
  • 通过邀请码加入
  • 退出服务器
  • 主动退出服务器
  • 踢出服务器成员
  • 修改成员信息
  • 修改自己的成员信息
  • 修改他人的成员信息
  • 成员封禁管理
  • 封禁服务器成员
  • 分页查询封禁成员列表
  • 解封服务器成员
  • 服务器成员查询
  • 根据账号查询服务器成员
  • 分页查询服务器成员
  • 申请与邀请记录查询
  • 查询服务器记录
  • 查询自己的记录
  • 相关参考
  • 相关系统通知
  • 相关内容审核