トピックのすべてのユーザーの通知レベルを単一の値に設定する安全な方法を知っている人はいますか?Railsコンソールで何かを行う必要があると推測しています。
「Watching」または「Tracking」ではなく、トピックのすべてのユーザーを「Mute」または「Normal」に設定したいと思います。
目標は、複雑なモデレーション状況における大規模なトピックのアクティビティを削減することです。
トピックのすべてのユーザーの通知レベルを単一の値に設定する安全な方法を知っている人はいますか?Railsコンソールで何かを行う必要があると推測しています。
「Watching」または「Tracking」ではなく、トピックのすべてのユーザーを「Mute」または「Normal」に設定したいと思います。
目標は、複雑なモデレーション状況における大規模なトピックのアクティビティを削減することです。
管理者メニュー
設定
ユーザー設定
お待ちください、すみません、1つのトピックだけということですね。ええ、レールが必要になるかもしれませんね。
この状況は複雑で、公の議論を引き起こすような視覚的な表示は避けたいです。そのような議論は、モデレーションに何時間もかかる可能性があります。(私はすでに完全に圧倒されています。)理想的な結果は、人々がトピックの存在を思い出さないことです。
トピックを非表示にします。そうすれば、フォーラムから隠されるため、ほとんどのユーザーはそこでそれを見ることができなくなります。ただし、(たとえば通知を受け取ったために)そのトピックへのリンクを持っているユーザーは、引き続きトピックを開くことができます。
ただし、注意点として、もし彼らがそれを視聴している場合、それが非公開になった場合でも通知は届きます。
特定のトピックのユーザーの通知レベルを設定するために、/t/TOPIC_ID/notifications エンドポイントを使用できるようになったと思いますが、これはRailsコンソールよりも魅力的な選択肢でしょうか?
siteurl/t/<topic_id>/notificationsPOSTusername または external_id。空の場合、管理者のトピックに対する自身の通知レベルが変更されます。notification_level: レベルに対応する整数値
muted: 0,regular: 1,normal: 1, # regular のエイリアスtracking: 2,watching: 3,しかし、Railsコンソールについては、おそらくこれになると思います(Railsで変更を試みる前に、念のためバックアップを取ることを忘れないでください
)。
TopicUser.where(topic_id: TOPIC_ID).update(notification_level: 1)
(1はノーマル、0はミュート)
これによりトピックレベルの設定は変更されますが、カテゴリやタグレベルの設定が残っている可能性があり、新しいアクティビティの通知を受け取るユーザーに影響を与える可能性があります。
もし役立つなら、ユーザーのトピックレベルを確認するためのデータエクスプローラークエリもいくつかあります。
SELECT
topic_id,
user_id,
notification_level
FROM topic_users
WHERE topic_id = TOPIC_ID
詳細なご回答ありがとうございます。明日APIを試してみます。
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.