Я хотел бы сделать так, чтобы участники сообщества могли приветствовать новых пользователей.
Функционал чата, появившийся относительно недавно, кажется для этого идеальным.
Идея заключается в том, чтобы (на собственном примере) побуждать участников сообщества упоминать (@mention) новых членов и предлагать им представиться. Это, в свою очередь, может подтолкнуть участника к тому, чтобы предложить новичку задать вопрос, создать пост в канале «покажи и расскажи» или пригласить его на мероприятие сообщества.
У меня есть два препятствия:
Не уверен, как участники сообщества могут получать уведомления о новых регистрациях?
Как администратор я вижу это довольно четко, но не знаю, как обычные пользователи могут это увидеть.
Не совсем понимаю, как работает чат, если пользователь вышел из системы? Получают ли они уведомление по электронной почте? (Должен бы знать, но не уверен).
Любые советы или рекомендации будут очень кстати.
Стивен
(Администратор в Discord-сообществе Racket — Racket это язык программирования с открытым исходным кодом, а не игра)
Вероятно, существует более одного способа (я могу придумать три) сделать то, что вы планируете, но я бы поступил так.
Если у вас включена автоматизация, вы можете запланировать ежедневную задачу для запуска запроса в Data Explorer для новых регистраций, а затем отправить личное сообщение группе или пользователям определенного уровня доверия (например, TL3 — регулярные пользователи).
Этот запрос покажет новых пользователей за последний день:
-- Подсчитывает всех новых пользователей за вчерашний день
SELECT
(CURRENT_DATE - INTERVAL '1 day')::DATE AS sign_up_date,
COUNT(u.id) AS new_users_yesterday
FROM users AS u
WHERE
u.created_at >= (CURRENT_DATE - INTERVAL '1 day') AND u.created_at < CURRENT_DATE
Этот запрос покажет новых пользователей за последние 24 часа с момента выполнения запроса:
-- Подсчитывает новых пользователей за последние 24 часа (скользящий период)
SELECT
COUNT(u.id) AS new_users_last_24_hours
FROM users AS u
WHERE
u.created_at >= NOW() - INTERVAL '24 hours'
Я бы использовал личные сообщения для этого, поскольку настройки уведомлений чата по электронной почте задаются в предпочтениях пользователя по адресу /my/preferences/email
Используйте автоматизацию для публикации запроса в защищенную тему, которую видит только группа, и которая настроена на отслеживание (аналогично вышеуказанному) — это может быть менее навязчивый метод, чем личные сообщения.
Вы можете настроить веб-хук чата и использовать событие user created.
Спасибо, @Lilly, но наше сообщество получает выгоду от щедрого бесплатного хостинга, предлагаемого для проектов с открытым исходным кодом, и вполне логично, что доступ к cron или SQL-запросам здесь не предусмотрен.
Да, это важная деталь, которую, вероятно, стоило указать в первом посте — это сэкономило бы мне время на набор текста. Не знаю, предоставляет ли бесплатный план с открытым исходным кодом доступ к вебхукам чата, но можно попробовать.
Я думаю, ваши пользователи могли бы проверять новых участников группы TL0. Эта группа не отображается для них на странице групп, но ссылка работает https://meta.discourse.org/g/trust_level_0?asc=false&order=added_at. Вы можете добавить эту ссылку в боковую панель (она не работает для пользователей без авторизации, поэтому, возможно, имеет смысл использовать Discourse Group Sidebar Menus, чтобы показывать её только авторизованным пользователям или особой группе доверенных лиц).
Редактирование: Возможно, лучше использовать группу TL1, так как эти пользователи уже провели некоторое время, читая на форуме.