Skip to content

过滤器 (Filter) ​

有关这里的 API,请参见 开发 > 模块化 > 过滤器。

实例属性 ​

ctx.filter ​

  • 类型: (session: Session) => boolean

当前上下文绑定的会话过滤器。

实例方法 ​

ctx.any() ​

  • 返回值: Context 新的上下文

选取上下文全集。

TIP

这个方法与 ctx.root 的区别在于,后者不受插件管理器控制,容易产生内存泄漏。因此我们建议,除非你已经为你的插件声明了副作用,你应当尽量使用这个方法。参见 。

ctx.never() ​

  • 返回值: Context 新的上下文

选取上下文空集。

ctx.self(...values) ​

ctx.user(...values) ​

ctx.guild(...values) ​

ctx.channel(...values) ​

ctx.platform(...values) ​

  • values: string[] 允许的机器人 / 用户 / 群组 / 频道 / 平台名称构成的数组
  • 返回值: Context 新的上下文

选取当前上下文的子集,限定机器人 / 用户 / 群组 / 频道 / 平台名称为所给定的值。

ctx.union(filter) ​

  • context: Context | ((session: Session) => boolean) 另一个上下文或者过滤器函数
  • 返回值: Context 新的上下文

给出当前上下文和其他上下文的并集。

ctx.intersect(filter) ​

  • context: Context | ((session: Session) => boolean) 另一个上下文或者过滤器函数
  • 返回值: Context 新的上下文

给出当前上下文和其他上下文的交集。

ctx.exclude(filter) ​

  • context: Context | ((session: Session) => boolean) 另一个上下文或者过滤器函数
  • 返回值: Context 新的上下文

给出当前上下文和其他上下文的差集。