Options
All
  • Public
  • Public/Protected
  • All
Menu

调用方式:

qchat.qchatChannel.createChannel(options)

Hierarchy

  • QChatChannelServiceInterface

Index

Methods

  • 根据关键词,检索频道内的成员信息

    example
    const res = await qchat.qchatChannel.channelMemberSearch({
    serverId: '11111',
    channelId: '22222',
    keyword: '关键词',
    limit: 100
    })

    Parameters

    Returns Promise<QChatChannelMemberInfo[]>

  • 创建"频道分组"。频道分组说明请查看 频道分组文档

    只有拥有管理员权限才可以创建频道分组

    频道分组可见机制

    • 如果频道分组为公开频道分组,那么只要用户未被加入频道分组黑名单,频道分组就对其可见
    • 如果频道分组为私密频道分组,那么用户需被加入频道分组白名单,频道分组才对其可见

    频道分组对游客是否可见

    • 频道分组是否对游客可见,取决于频道分组内是否有频道对游客可见。如果频道分组内有频道对游客可见,则该频道分组对游客也可见。
    • 频道是否对游客可见由visitorMode决定,可在创建频道和修改频道时设置

    频道管理可见

    • 频道分组对用户可见
    • 拥有管理频道的权限(QChatRoleAuth枚举中的manageChannel)。

    影响范围

    example
    const channelCategory = await qchat.qchatChannel.createChannelCategory({
    "serverId": "10390563",
    "name": "category-1",
    "viewMode": 0
    })

    Parameters

    Returns Promise<QChatChannelCategoryInfo>

  • 分页查询指定服务器下的"频道分组"列表

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

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

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

    Parameters

    Returns Promise<GetChannelCategoriesPageResult>

  • 查询某个频道分组下的频道列表(分页)

    example
    const limit = 10
    const serverId = '11111'
    const categoryId = '22222'
    let list = []

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

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

    Parameters

    Returns Promise<GetChannelCategoryChannelsPageResult>

  • 根据成员ID查询"频道分组"白/黑名单成员列表

    • 若分组的 viewMode = 0, 则只能查询 type = 'black' 的名单
    • 若分组的 viewMode = 1, 则只能查询 type = 'white' 的名单
    example
    // 分组为 viewMode = 1,默认私密的分组名单。此类型只有白名单
    const res = await qchat.qchatChannel.getChannelCategoryWhiteBlackMembers({
    "categoryId": "5754730",
    "serverId": "10390563",
    "type": "white",
    "accids": ["test1", "test2"]
    })

    Parameters

    Returns Promise<MemberInfo[]>

  • 分页查询"频道分组"白/黑名单成员列表。通过该接口查询频道分组下的完整黑白名单

    example
    const limit = 10
    const serverId = '11111'
    const categoryId = '22222'
    const type = 'white'
    let list = []

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

    list = [...list, ...res.datas]
    while (res.listQueryTag.hasMore) {
    res = await qchat.qchatChannel.getChannelCategoryWhiteBlackMembersPage({
    "serverId": serverId,
    "categoryId": categoryId,
    "type": type,
    "timetag": res.listQueryTag.nextTimetag,
    "limit": limit
    })
    list = [...list, ...res.datas]
    }

    Parameters

    Returns Promise<GetChannelCategoryWhiteBlackMembersPageResult>

  • 批量查询若干个频道的未读数数据

    example
    const res = await qchat.qchatChannel.getChannelUnreadInfos({
    channels: [{
    serverId: '11111',
    channelId: '22222'
    }]
    })

    res.forEach(entry => {
    // 该频道的已读时间戳
    console.log(res.ackTimestamp)
    // 该频道最后一条消息时间
    console.log(res.lastMsgTime)
    // 该频道的最大未读数
    console.log(res.maxCount)
    // 该频道的未读数
    console.log(res.unreadCount)
    // at我的未读数
    console.log(res.mentionedCount)
    })

    Parameters

    Returns Promise<QChatChannelUnreadInfo[]>

  • 根据频道ID查询频道信息。注意,当前 appkey 下面所有的频道都可以被查询到,无论该频道对于当前用户是否可见。

    const channels = await qchat.qchatChannel.getChannels({
    channelIds = ['channelId1', 'channelId2']
    })

    Parameters

    Returns Promise<ChannelInfo[]>

  • 分页查询当前服务器,对该用户可见的频道列表

    const limit = 10
    const serverId = '11111'
    let list = []

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

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

    Parameters

    Returns Promise<GetChannelsByPageResult>

  • 查询某个频道下,指定用户是否在白/黑名单中。

    • 若频道 viewMode = 0,只能查询黑名单
    • 若频道 viewMode = 1,只能查询白名单
    example
    const res = await qchat.qchatChannel.getExistingWhiteBlackMembers({
    "serverId": "11111",
    "channelId": "22222",
    "type": "black",
    "accids": ["test1", "test2"]
    })

    Parameters

    Returns Promise<GetExistingWhiteBlackMembersResult>

  • 分页获取频道的成员列表。

    example
    const limit = 10
    const serverId = '11111'
    const channelId = '22222'
    let list = []

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

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

    Parameters

    Returns Promise<GetMembersByPageResult>

  • 分页查询频道的白/黑名单成员

    example
    const limit = 10
    const serverId = '11111'
    const channelId = '22222'
    const type = "white"
    let list = []

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

    list = [...list, ...res.datas]
    while (res.listQueryTag.hasMore) {
    res = await qchat.qchatChannel.getWhiteBlackMembersPage({
    "serverId": serverId,
    "channelId": channelId,
    "type": type,
    "timetag": res.listQueryTag.nextTimetag,
    "limit": limit
    })
    list = [...list, ...res.datas]
    }

    Parameters

    Returns Promise<GetWhiteBlackMembersPageResult>

  • 更新频道的白/黑名单身份组

    1. 针对公开的频道 ChannelInfo.viewMode 为 0,那么设置的身份组在此公开频道的黑名单。此身份组用户将无法查到此频道的信息

    2. 针对私密的频道 ChannelInfo.viewMode 为 1,那么设置的身份组在此私密频道的白名单。此身份组用户将可以查到此频道的信息

    Parameters

    Returns Promise<void>