こんにちは。サイトに売買/交換のカテゴリがあり、メンバーがルールに関するトピックに「いいね」をするまで投稿を制限したいと考えています。AIボットに尋ねたところ、いくつかの指示は得られましたが、ホストされているプランでのみ利用可能なDiscourse Automationが必要なようです。
セルフホスト型プラットフォームでこれを実現する方法はありますか?
こんにちは。サイトに売買/交換のカテゴリがあり、メンバーがルールに関するトピックに「いいね」をするまで投稿を制限したいと考えています。AIボットに尋ねたところ、いくつかの指示は得られましたが、ホストされているプランでのみ利用可能なDiscourse Automationが必要なようです。
セルフホスト型プラットフォームでこれを実現する方法はありますか?
こんにちは、これはコミュニティエディションに無料でバンドルされています。プラグインタブで有効にできます。
気にしないでください。Discord Automationプラグインを手動で追加できることがわかりました…
うーん、おそらく Discourse Policy とグループの権限で解決できるかもしれませんね?
- add-users-to-group: 単一のグループを入力として受け付けます。ポリシーに同意したユーザーは自動的にこのグループに追加されます(ポリシーが手動で取り消された場合、またはポリシーのバージョンが更新された場合、ユーザーはグループから削除されます)
ask.discourse.org の助けを借りて、解決策を見つけました。
バッジSQLを有効にし、特定の投稿に「いいね!」が付いたときに割り当てられるバッジを作成する必要がありました。次に、Discord Automation がユーザーがバッジを所有していることに基づいて自動的に割り当てるグループを作成しました。カスタムグループには完全なアクセス権を付与しました。カテゴリーへのアクセス権は「everyone」グループに読み取り専用アクセスのみを許可するように設定し、リアクションのみができるようにしました。
素晴らしい、詳細を共有してくれてありがとう!
これで、あなたの投稿を解決策としてマークできますね。![]()
帰宅したら、他の誰かが知りたい場合に備えて、私が行ったことの簡単なまとめを書くつもりです。その後、それを解決策としてマークします。
もし他にこれを試したい方がいらっしゃる場合に備えて、私が実行したことの簡単なまとめを以下に示します。
./launcher enter app
rails c
SiteSetting.enable_badge_sql = true
![]()
p.topic_id = 117 を希望のトピックIDに変更してください)。
SELECT DISTINCT ON (pa.user_id)
pa.user_id,
pa.post_id,
pa.created_at granted_at
FROM post_actions pa
JOIN posts p ON pa.post_id = p.id AND p.post_number = 1
WHERE pa.post_action_type_id = 2
AND p.topic_id = 117
AND (:backfill OR pa.post_id IN (:post_ids))
bst_rules_agreed という名前で、グループオーナーとモデレーターのみがメンバーシップを確認できるように設定されています。信頼レベルへの影響は必要ありません。これで完了です。これで、メンバーがカテゴリに投稿できるようになる前に、カテゴリのルールに同意していることを保証するシステムができました。
私の次の探求は、そのグループに属していないすべての人に対して、ルール以外のトピックをすべて非表示にする方法があるかどうかを確認することです。しかし、この基本的なシステムは今のところ十分です。
プライベートトピックプラグインのトピックで代替案が提案されました。こちらに移動します。
このプラグインに感謝します!コミュニティで基本的なチケット発行システムを提供する方法を探していました。
これを私の売買カテゴリでも使用することを考えています。現在、誰もがトピックを読めるように設定していますが、返信や作成ができるのは特定のグループに属するユーザーだけです。現在のワークフローは次のとおりです。メンバーは投稿に「いいね!」をすることでルールを読んだことを認識します。いいね!をすると、カスタムバッジが付与されます。Discourse Automate がバッジに基づいてそのユーザーをグループに追加します。
これにより、ルールに同意していない人がカテゴリに投稿するのを防ぐことができます。ただし、投稿を閲覧したり読んだりすることは引き続き可能です。
そこで、カテゴリから全員を削除し、セキュリティタブにそのカスタムグループのみを設定しても機能するかどうか知りたいです。管理者グループからの投稿が常に表示されるようにしておけば、カスタムグループに属していないユーザーでもルールを閲覧したり「いいね!」をしたりできるでしょうか?そして、「いいね!」をしてグループに追加されたら、すべてが彼らに開かれるという流れになりますか?
このプラグインが意図していたことは、それではありません。
ユースケースは、このプラグインを使用せずに、Discourse Policy プラグインを使用して実装できます。このプラグインには、ポリシーに同意したユーザーをグループに追加する機能があります。
Policyプラグインを、グループメンバーシップを割り当てることになった経緯を調べる前に確認しました。私がPolicyを好まない理由は、グループに適用しなければならないからです。B/S/Tに参加したい全員がそれを見られるようにするために、trust_level_1のようなものに適用する必要があります。しかし、誰もがB/S/Tに参加したいわけではありません。興味のない人に、もう一つクリックするもの(簡単ではありますが)を追い立てたくありません。
人々は「BST応募者」に参加し、ポリシーに同意することで「BSTメンバー」のメンバーになります。投稿に「いいね!」を押すことで完全なルーブ・ゴールドバーグ・マシンを起動させるよりは、厄介ですが、まだましです。
2 件の投稿が既存のトピックにマージされました: Private Topics Plugin
これも使えるかもしれません。調べてみます。ありがとうございます!!Discourseは本当に初心者なので、やり方を学んでいるところです。
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.