看起来这是导致模板出现问题的同一个已知问题。
everyone-group-unable-to-see-private-templates
在这种情况下,ai-bot 选项会出现,但机器人根本不会响应。
看起来这是导致模板出现问题的同一个已知问题。
everyone-group-unable-to-see-private-templates
在这种情况下,ai-bot 选项会出现,但机器人根本不会响应。
感谢您查找先前的问题!
![]()
我认为这里也适用:
您不能向匿名用户授予聊天机器人访问权限,因此使用 trust_level_0 是您用例的有效解决方案。 ![]()
@Roman 在阅读 Discourse 中的代码时,我认为现在可以了。
现在是时候关闭这个并移除向后兼容代码了吗?
这有点棘手。我最初添加了 everyone 选项,因为我们希望允许匿名用户查看 gists。每个功能都有自己的规则,所以我不认为将 Persona 的允许组设置为该选项会使该功能对每个人都可用。
这仍然是一个问题。如果“AI 机器人允许的组”设置为 everyone,机器人不会响应。
我认为错误在这里:here
return false if (SiteSetting.ai_bot_allowed_groups_map & post.user.group_ids).blank?
如果设置是 everyone,则此条件返回 false,因为 0 不在 post.user.group_ids 中。
正确的模式是 !user.in_any_groups?(SiteSetting.ai_bot_allowed_groups_map)
它有一个针对 everyone 的特殊情况:
def in_any_groups?(group_ids)
group_ids.include?(Group::AUTO_GROUPS[:everyone]) ||
(is_system_user? && (Group.auto_groups_between(:admins, :trust_level_4) & group_ids).any?) ||
(group_ids & belonging_to_group_ids).any?
end