Как можно вывести список пользователей, которых система скоро удалит?

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

  • дата последнего сообщения (никогда не публиковал),
  • уровень доверия TL0,
  • не заходил в течение (по умолчанию) 2 лет.

Эти критерии обычно отлично справляются с очисткой базы пользователей.

Но есть ли способ получить список пользователей, которых система планирует удалить в будущем? Мы хотели бы связаться с некоторыми высокоценными, но неактивными пользователями и предложить им причины остаться с нами.

Привет, Amicable!

В Data Explorer запрос будет выглядеть так:

WITH posts_by_user AS (
    SELECT COUNT(*) AS posts, user_id
    FROM posts
    GROUP BY user_id
)
SELECT 
    u.id,
    u.username_lower AS "username",
    u.created_at,
    u.last_seen_at
FROM users u
LEFT JOIN posts_by_user pbu ON pbu.user_id = u.id
WHERE u.active = true AND u.trust_level = 0
AND posts IS NULL
ORDER BY u.id

Выглядит очень полезно. Я не знал о Data Explorer, так что начну с него. Большое спасибо за ваше решение :+1:

Из любопытства, какова цель? Администраторы обычно активны, публикуют сообщения и входят в систему.

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

:slight_smile:

В этом случае просто удалите and admin = true из SQL-запроса.


Я обновил SQL-код напрямую.

Это для списка, показывающего администраторов нас.

Однако более широкий сценарий использования может быть интересным. Мы довольно часто используем электронные дайджесты, потому что некоторые члены нашего сообщества — ценные, но занятые пожилые люди, которые вряд ли будут писать сообщения и ещё реже заходить в систему. Однако они очень хорошо знакомы с электронной почтой и предпочитают оставаться в курсе событий.

Но внезапно, спустя два года, :boom: — и мы не можем снова выйти с ними на связь.

О, я понял. По сути, они читают через email и почти всегда находятся в офлайн-режиме.

Не уверен, как с этим справиться. Наверняка у кого-то есть хорошая идея. Простое решение — хотя бы опубликовать одно сообщение на форуме.

Также обратите внимание: рассылка сводок отключена для пользователей, которые не заходили в систему более 180 дней (значение по умолчанию). Название настройки — отключать email-рассылку сводок после дней.

Да, именно. Было бы неплохо, если бы они публиковали хотя бы раз. Но представьте человека, у которого катастрофически не хватает времени и который совершенно не дружит с технологиями, но при этом очень ценен. Для таких людей дайджесты — это просто находка, и сообщество понимает, что они свои, и не возражает против того, что они не участвуют в онлайн-обсуждениях.

Вы можете изменить их уровень доверия и установить его на значение отличное от 0. :slight_smile:
Это предотвратит их выбор в задачах по очистке неактивных пользователей.

Самые простые решения — лучшие :tada: