これは、テンプレートで問題を引き起こす既知の問題と同じようです。
everyone-group-unable-to-see-private-templates
この場合、ai-botのオプションは表示されますが、ボットはまったく応答しません。
これは、テンプレートで問題を引き起こす既知の問題と同じようです。
everyone-group-unable-to-see-private-templates
この場合、ai-botのオプションは表示されますが、ボットはまったく応答しません。
以前のイシューを検索していただきありがとうございます!
![]()
ここでも同じことが当てはまると思います。
匿名ユーザーにチャットボットへのアクセス権を与えることはできないため、trust_level_0 を使用することは、ユースケースに対して効果的なソリューションです。![]()
Discourse のコードを読んだところ、これで動作すると思います。
これを閉じて、後方互換性のコードを削除する時期でしょうか?
それは少しトリッキーです。元々 everyone オプションを追加したのは、匿名のユーザーにも gists を見てもらいたかったからです。すべての機能には独自のルールがあるので、Persona の許可グループをそれに設定しても、その機能がすべての人に利用可能になるとは思いません。
これはまだ問題です。「AI bot allowed groups」が everyone に設定されている場合、ボットは応答しません。
バグはこちらにあると思います。
return false if (SiteSetting.ai_bot_allowed_groups_map & post.user.group_ids).blank?
設定が everyone の場合、0 は post.user.group_ids に含まれないため、これは false を返します。
正しいパターンは !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