跳转到内容

聊天与触发

TomoriBot 只在有东西叫她的时候才回复。这一页讲她能被动触发的各种方式、如何用自动触发进行免提聊天,以及如何用明确触发模式挡掉误触发。

默认情况下,你在下面这些时候会得到回复:

  • 提及她@TomoriBot
  • 回复她某条消息(包括人格的 Webhook 消息)
  • 使用触发词:你登记过的任意普通词,出现在消息里任何位置都算
  • 使用 /respond:手动让她回一条

触发词是最省事的一条路:一个词登记好之后,只要说出来就能叫到她。在私信里,打个招呼就行(不需要触发)。

服务器管理员用 /config > 人格 > 触发设置来添加或移除某个人格的触发词。普通成员可以查看这一页,但上面的修改控件是禁用的。

她回复之后,可以使用你服务器的自定义表情和贴纸,也可以对消息做出回应:

  • 自定义表情会以不分大小写的 :name: 语法自然地出现在对话里。
  • 贴纸可以跟着回复一起发出;她也能添加表情回应。
  • 运行 /expressions initialize 来登记你服务器的表情和贴纸,这样她用起来才准确。

角色扮演频道会抑制她回复里的自定义表情和贴纸。人们也可以在那里用 /tool delete turn 删掉她最近的一轮发言,不需要管理服务器权限。

/config 的频道规则页面里配置这些频道。

除了消息文本,她每次回复时还会拿到一份 Discord 情境快照,所以她能聊到对话发生在哪里什么时候,而不只是说了什么。这份情境包括:

  • 她在哪:当前服务器的名称和简介(或者说明这是一条私信),以及当前频道。
  • 当前时间:按 /config > 常规行为设定的服务器本地时间和大致时段,如果对方设过 /personal config,还会带上各自的本地时间。
  • 对话里有谁:参与者的显示名、怎么提及他们、外貌标签,以及他们待发的提醒。
  • 对方在做什么(在线状态):用户的 Discord 动态:正在什么、直播什么、什么(例如某首 Spotify 歌曲和歌手)、什么,或者他们的自定义状态。

在线状态有隐私门槛:只有处于隐私等级的用户(默认值,见 /personal config)才会被分享,而且只有 bot 开启了 Discord 的 Guild Presences intent 时才生效。把隐私等级调高的用户,或者没有开启该 intent 的自部署实例,他们的动态就不会让她看到。

自动触发让她完全不用被点到名字就能加入对话。

  • /server autotrigger channels:设置她不用被提及就会回复的频道。
  • /server autotrigger threshold:设置累积多少条消息之后她开口。
  • /config > 行为 > 触发:给某个频道加一个按概率计时触发的自动触发。
  • /config > 行为 > 触发:移除已有的随机触发。
  • /natres:让自主回复的时间节奏更像人 待实现

在你希望她像个参与者、而不是被叫来的助手的专属聊天频道里用这个功能。

如果大家在日常对话里经常提到某个人格的名字,普通触发词可能会误触发她。**明确触发模式(DTM)**就是解决这个问题的:开启后,普通触发词不再算作一次明确的触发。

开启 DTM 后:

  • @{trigger}(把触发词加上提及前缀)仍然有效
  • Discord 提及仍然有效
  • 回复仍然有效
  • /respond 仍然有效
  • 普通触发词不再触发她

这样就把触发变成了明确的召唤,而不是误触。

  • /server dtm:服务器管理员切换全服务器的行为。
  • /personal config:每位用户可为自己覆盖,共三种模式:
    • off:始终允许普通触发词
    • follow:跟随服务器设置
    • on:始终要求明确召唤

/help 里选择 行为,再选 明确触发模式,可以看到 Discord 里的同一份说明。