У меня есть группа пользователей с включённым режимом 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;