Возможно, хорошим способом автоматизации этого процесса будет приостановка учётной записи пользователя через API Discourse. При приостановке пользователь выходит из системы Discourse и больше не получает дайджест-письма. Если при приостановке указать message, это сообщение будет отправлено пользователю по электронной почте. Это можно использовать, чтобы побудить его продлить членство.
Стоит отметить, что функция приостановки была разработана для работы с проблемными пользователями, а не для случаев истечения срока членства, которое может быть продлено в будущем. Возможно, вам потребуется настроить текст шаблона user_notifications.account_suspended.text_body_template на вашем сайте, чтобы адаптировать шаблон письма, отправляемого приостановленным пользователям.
Посты, созданные анонимизированным пользователем, выглядят так:
Простого способа снять анонимизацию пользователя не существует. Единственный известный мне подход — объединить анонимного пользователя с новым пользователем через консоль Rails. Поскольку анонимизация удаляет все идентифицирующие данные пользователя, может быть сложно определить, какие учётные записи нужно объединить. Если есть вероятность, что пользователи продлят своё членство, приостановка учётной записи, вероятно, будет лучшим решением.
