Заглушить все категории, кроме

Проблема

У меня есть группа пользователей с включённым режимом mailing_list_mode, у которых для определённой категории установлена опция «Следить за первым сообщением».

Поскольку они используют mailing_list_mode, они получают все сообщения из публичных категорий, которые им не обязательно интересны. Поэтому я хотел бы отключить уведомления по всем категориям, кроме той, за которой они следят.

Есть ли способ сделать это, не идентифицируя каждую категорию для отключения уведомлений? Или есть простой способ (с помощью запросов data-explorer) получить список этих категорий?

Итак, вы хотите отключить уведомления для всех категорий в настройках группы, кроме тех, которые отслеживаются, или тех, где отслеживается первый пост?

Я думаю, что вы можете использовать Data Explorer, чтобы получить список ID категорий, разделенных символом |, и вставить его прямо в настройки группы.

Например:

Это то, что вы имели в виду?

Вот запрос, который я использовал для получения этого списка:

--[params]
-- group_id :group

WITH excluded_categories AS (
  SELECT category_id
  FROM group_category_notification_defaults
  WHERE group_id = :group
    AND notification_level IN (3, 4)
),
category_names AS (
  SELECT id
  FROM categories
  WHERE id NOT IN (SELECT category_id FROM excluded_categories)
)
SELECT string_agg(CAST(id AS TEXT), '|') AS category_list
FROM category_names;