特定の外部ユーザーに送信される通知/メールを停止/ブロックする方法
ユーザーをミュートしたくない
この場合、メール配信設定を「受け取らない」にすると効果がありますか?
「SS」では、すべてのメール通知が無効になります。
テストユーザーを偽のメールアドレスで作成する際に、私はそうします。ユーザー設定で、すべてのメールトリガーを無効にします。
次に、例えばカテゴリやトピックでの新しいコメントや新しいトピックのメールを受信しないようにしたい場合。設定に移動し、「監視中」のカテゴリ、タグ、トピックを削除する必要があります。「監視中」は通知を送信するため、「最初の投稿を監視」はトピックの最初の投稿に対してのみメールを送信します。
ああ、それは確かに彼らがメール通知を受け取るのを止めるでしょう。特定の種類のメールだけを防ぎたいとは気づきませんでした。
トピックレベルで「監視中」に設定されている特定のトピックは、これではカバーされないと思います。それらのトピックについては、ユーザーはトピック自体の通知レベルを変更する必要があります(または、管理者がアカウントをなりすまして実行することもできます。たくさんある場合は、必要に応じて回避策があります)。
ええ、それは悪夢になりそうですね。ただし、設定ではタグやカテゴリを管理できます。
しかし、メンバーが個別のトピックをウォッチ設定しないことを願うばかりです。なりすましを使っても、それはかなりの作業になるでしょうね。でも、トピックを一括でウォッチ解除するコマンドラインオプションがあったらどうでしょう?
UIを使用した可能性としては、一時的に信頼レベルをTL4に引き上げ、その後なりすましを行うことが考えられます。これにより、一括アクションを使用してトピックの通知レベルをまとめて変更できるようになります。(そしてTLの引き上げを元に戻す)
「視聴中」に設定されているもののみのフィルタリングされたリストを使用することも役立つ可能性があります {YourSite}/latest?state=watching
ユーザーになりすましているのであれば、フィルタリングされたリストが機能するはずです。
それ以外の場合は、データエクスプローラークエリが必要だと思います。おそらくこのようなものです。
-- [params]
-- user_id :user
SELECT tu.topic_id
FROM topic_users tu
JOIN topics t ON t.id = tu.topic_id
WHERE tu.user_id = :user
AND tu.notification_level = 3
AND t.archetype <> 'private_message'
AND t.deleted_at IS NULL

