机器人管理 (Bots)
WARNING
本节中介绍的 API 均为实验性功能,可能在后续版本中发生变化。
ctx.bots
保存了当前全部 Bot 实例。它继承了 Array 类,因此你可以使用诸如 ctx.bots.forEach()
的写法。除此以外,我们还提供了一些与机器人相关的实用方法。
实例属性
ctx.bots[sid]
- sid:
string
机器人的 sid
你可以用这个属性来获取或移除机器人实例。
实例方法
ctx.getSelfIds(type?, assignees?)
- type:
Platform
平台名称,如果不写就对应全部平台 - assignees:
string[]
机器人 ID 列表,如果不写就对应当前平台的全部机器人 - 返回值:
Record<string, readonly string[]>
平台名到机器人 ID 列表的键值对
按平台名称对机器人分类。
ctx.broadcast(channels?, content, forced?) 需要数据库
- channels:
string[]
频道列表 - content:
string
要发送的内容 - forced:
boolean
是否无视 silent 标记 - 返回值:
Promise<string[]>
成功发送的消息 ID 列表
所有机器人向自己分配的频道广播消息,存在标记 silent 的频道除外。如有失败不会抛出错误。