ただし、注意点として、もし彼らがそれを視聴している場合、それが非公開になった場合でも通知は届きます。
特定のトピックのユーザーの通知レベルを設定するために、/t/TOPIC_ID/notifications エンドポイントを使用できるようになったと思いますが、これはRailsコンソールよりも魅力的な選択肢でしょうか?
追加情報
- APIユーザーは、他のユーザーの通知レベルを変更できるように、管理者である必要があります(したがって、グローバルスコープを持っている必要があります)。
- エンドポイントURL:
siteurl/t/<topic_id>/notifications - リクエストタイプ:
POST - パラメータ:
- 対象ユーザーの
usernameまたは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