Options
All
  • Public
  • Public/Protected
  • All
Menu

调用方式:

qchat.qchatServer.createServer(options)

Hierarchy

  • QChatServerServiceInterface

Index

Methods

  • 创建服务器,返回值为服务器基本信息

    影响范围

    example
    const serverInfo = await qchat.qchatServer.createServer({
    name: '美食圈',
    // 邀请用户加入时,是否需要用户同意。0: 需要,1: 不需要
    inviteMode: 0,
    // 申请加入时,是否需要管理员同意。0: 不需要,1: 需要
    applyMode: 1
    })

    Parameters

    Returns Promise<ServerInfo>

  • enterAsVisitor(options: { serverIds: string[] }): Promise<{ failedServers: string[] }>
  • 以游客身份加入服务器。请查看文档:游客功能

    注: 目前 IM 服务端限定最多加 10 个

    影响范围

    • 以游客身份加入服务器并不会触发圈组内置系统回调

    Parameters

    • options: { serverIds: string[] }
      • serverIds: string[]

    Returns Promise<{ failedServers: string[] }>

  • 生成一个邀请码。可以通过 ttl 设置邀请码有效时间。若不设置,默认有效期为 30 天。

    有效期内,任何人都可以通过 joinByInviteCode 加入服务器。过期后,邀请码失效。

    example
    const res = await qchat.qchatServer.generateInviteCode({
    "serverId": "10390581",
    "ttl": 86400000
    })

    // 将 Code 发给其它端后,其它端加入频道
    await qchat.qchatServer.joinByInviteCode({
    "serverId": res.serverId,
    "inviteCode": res.inviteCode,
    "ps": "xxx"
    })

    Parameters

    Returns Promise<QChatServerInviteCode>

  • 分页获取封禁成员。从 timetag 开始逆序查找。查找 createTime 小于 timetag 的封禁记录,直到查完,或者达到 limit。

    若 timetag = 0,表示从服务器当前时间开始逆序查找

    example
    const serverId = '10390581'
    const limit = 10
    let list = []

    // 第一页。timetag设置为0,表示最新时间
    let res = await qchat.qchatServer.getBannedMembersByPage({
    "serverId": serverId,
    "timetag": 0,
    "limit": limit
    })

    list = [...list, ...res.datas]
    while (res.listQueryTag.hasMore) {
    res = await qchat.qchatServer.getBannedMembersByPage({
    "serverId": serverId,
    "timetag": res.listQueryTag.nextTimetag,
    "limit": limit
    })
    list = [...list, ...res.datas]
    }

    Parameters

    Returns Promise<GetBannedMembersByPageResult>

  • 根据用户ID,查询服务器下该用户的具体信息

    example
    const members = await qchat.qchatServer.getServerMemberInfo({
    "accids": [
    {
    "accid": "autotest1",
    "serverId": "10390582"
    },
    {
    "accid": "autotest2",
    "serverId": "10390582"
    }
    ]
    })

    Parameters

    Returns Promise<MemberInfo[]>

  • 分页查询服务器成员。从 timetag 开始逆序查找。查找 createTime 小于 timetag 的成员,直到查完,或者达到 limit。

    若 timetag = 0,表示从服务器当前时间开始逆序查询。注意,被ban成员不会被查到

    example
    const serverId = '10390581'
    const limit = 10
    let list = []

    // 第一页。timetag设置为0,表示最新时间
    let res = await qchat.qchatServer.getServerMembersByPage({
    "serverId": serverId,
    "timetag": 0,
    "limit": limit
    })

    list = [...list, ...res.datas]
    while (res.listQueryTag.hasMore) {
    res = await qchat.qchatServer.getServerMembersByPage({
    "serverId": serverId,
    "timetag": res.listQueryTag.nextTimetag,
    "limit": limit
    })
    list = [...list, ...res.datas]
    }

    Parameters

    Returns Promise<GetServerMembersByPageResult>

  • 根据服务器ID,查询服务器信息

    • 可以查询当前账号并未加入的服务器
    • 只有存在的服务器才会在结果中返回

    Parameters

    Returns Promise<ServerInfo[]>

  • 分页查询服务器列表。

    • 该函数只会查询当前账号加入的服务器
    • 查询从 options.timestamp 开始查,查找 createTime 小于 options.timestamp 的服务器,直到查完,或者达到 options.limit
    example
    const limit = 10
    let list = []

    // 第一页。timetag设置为0,表示最新时间
    let res = await qchat.qchatServer.getServersByPage({
    "timestamp": 0,
    "limit": limit
    })

    list = [...list, ...res.datas]
    while (res.listQueryTag.hasMore) {
    res = await qchat.qchatServer.getServersByPage({
    "timestamp": res.listQueryTag.nextTimetag,
    "limit": limit
    })
    list = [...list, ...res.datas]
    }

    Parameters

    Returns Promise<GetServersByPageResult>

  • leaveAsVisitor(options: { serverIds: string[] }): Promise<{ failedServers: string[] }>
  • 以游客身份离开服务器。请查看文档:游客功能

    注: 目前 IM 服务端限定最多加 10 个

    影响范围

    • 以游客身份离开服务器并不会触发圈组内置系统回调

    Parameters

    • options: { serverIds: string[] }
      • serverIds: string[]

    Returns Promise<{ failedServers: string[] }>

  • 通过keyword,搜索服务器内的群成员

    example
    const res = await qchat.qchatServer.serverMemberSearchByPage({
    "serverId": "10390605",
    "keyword": "abc",
    "limit": 100
    })

    Parameters

    Returns Promise<MemberInfo[]>

  • 通过关键词、时间范围、服务器类型等条件,搜索所有符合要求的服务器

    example
    const res = await qchat.qchatServer.serverSearchByPage({
    "keyword": "网易云信",
    "startTime": 0,
    "endTime": 1698911671817,
    "limit": 100,
    // 即 createServer 时设置的 searchType
    "serverType": [0, 1],
    "order": "ASC",
    // square 表示全局搜索服务器
    // person 表示搜索个人加入的服务器
    "searchType": "square",
    "sort": "createTime"
    })

    Parameters

    Returns Promise<ServerSearchByPageResult>

  • 解封服务器成员。解除封禁后,需要重新通过申请,或者邀请的方式加入服务器

    Parameters

    Returns Promise<void>

  • 修改自己在服务器中的成员信息

    #example

    const res = await qchat.qchatServer.updateMyMemberInfo({
    "serverId": "10390609",
    "accid": qchat.account,
    "nick": "my nick",
    "avatar": "https://avatar.com/xxx.png",
    "ext": "extension"
    })

    Parameters

    Returns Promise<MemberInfo>