Добавить PM для повышения до TL3 (для согласованности с TL1 и TL2)

Продолжение обсуждения из Настройка текста для PM при повышении до TL3:

Я хотел бы предложить отправлять пользователям при повышении до уровня TL3 личное сообщение (с настраиваемым текстом).

Это сделало бы процесс последовательным с повышением до уровней TL1 и TL2.

Я знаю о плагине Automation, но было бы хорошо, если бы Discourse по умолчанию одинаково обрабатывал все три уровня доверия.

Спасибо за рассмотрение этого предложения.

6 лайков

Кажется, исторически это освещалось в тексте «Добро пожаловать в зал» в теме «О» канала lounge. Однако теперь Зал больше не добавляется по умолчанию как категория в новых сайтах Discourse, поэтому, на мой взгляд, мы упускаем возможность поздравить людей с повышением.

7 лайков

Возможно, так и есть. Я уверен, что помню уведомление TL3, но, может быть, я помню именно приветствие из лаунжа?

5 лайков

Я не помню, чтобы получал уведомление о повышении до TL3.

1 лайк

Это было очень давно, когда я стал TL3, поэтому, возможно, тогда было какое-то уведомление, или, может быть, это была просто тема lounge, как предложил @JammyDodger. Я только что посмотрел исходный код и не вижу никакого уведомления, а также вручную повысил моего тестового пользователя до TL3 на только что созданном мной сайте и… подождите! Есть значок для TL3, значит, я всё-таки получил уведомление!

Regular

Этот значок выдается при достижении уровня доверия 3. Спасибо за то, что вы на протяжении нескольких месяцев являетесь постоянным участником нашего сообщества. Теперь вы один из самых активных читателей и надежный участник, делающий наше сообщество великим. Вы можете теперь перекатегоризировать и переименовывать темы, использовать более мощные флаги для спама, получить доступ к закрытой зоне lounge, а также получать гораздо больше лайков в день.

Но это не о чем этот топик…

Но подождите. Речь идет о том, есть ли личное сообщение. Действительно, личного сообщения нет.

3 лайка

Сейчас я не могу это протестировать, но теоретически, если у вас установлен плагин автоматизации, есть обходной путь.

Существует скрипт, позволяющий отправлять личные сообщения по триггеру, и добавление в группу — один из возможных триггеров. Теоретически, установка группы на уровень доверия 3 (trust_level_3) должна сработать.

Мы активно используем этот скрипт на наших форумах по ролевым играм для отправки личных сообщений при добавлении пользователей в группу NPC_Managers.

Кстати, я считаю немного странным, что в ядре нет функции для этого для уровня доверия 3.

Я могу понять отсутствие такой функции для уровня 4, так как это делается вручную, но для уровня 3 она определённо должна быть для согласованности :slight_smile:

4 лайка

Я объяснял это кому-то на днях: TL3 можно понизить!

Так что нам нужно подумать: что происходит, когда TL3 возвращается на уровень TL2, снова становится активным и затем снова переходит на TL3? Получают ли они сообщение о повышении каждый раз при переходе на TL3? :thinking:

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

3 лайка

Насколько я знаю, даже если вы переведёте пользователя на более низкий уровень доверия (TL), а затем снова разблокируете его, чтобы продвижение сработало, система не отправляет новое уведомление для TL1 или TL2. По крайней мере, я этого не наблюдал на своих тестовых аккаунтах.

Думаю, в коде есть проверка, предотвращающая повторную отправку сообщений, поэтому в теории это можно расширить и на TL3. Хотя, с другой стороны, есть и веские причины отправлять уведомления каждый раз, в зависимости от того, как конкретный инстанс настроен и использует TL3.

Хороший пример: у одного из моих друзей TL3 настроен так, что получить его можно только через добавление в группу «Доноры». В таком случае повторная отправка каждый раз имеет смысл.

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

3 лайка

Мы можем это подтвердить, но, полагаю, при понижении до TL2 или ниже происходит несколько вещей. Думаю, по умолчанию система блокирует пользователя на этом уровне доверия, поскольку он уже разблокировал более высокий уровень (иначе его бы снова повысили?).

«На днях» было несколько недель назад, поэтому мне нужно уточнить, как именно это работает. :slight_smile:

Записал(а) себе проверить это на следующей неделе.

2 лайка

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

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

2 лайка

Я только что провёл быстрый тест с одним из своих тестовых пользователей и считаю, что при «повторном повышении» сообщение действительно отправляется. Я держал его заблокированным на уровне TL0 некоторое время, а затем снова разблокировал. Когда уровень доверия был пересчитан, я получил набор сообщений как для TL1, так и для TL2 (этот пользователь ранее уже проходил все уровни доверия).

Изучив код, я вижу, что он пропускает личное сообщение (PM), если у пользователя уже есть значок соответствующего уровня доверия. Похоже, этот статус пересчитывается ежедневно. Следовательно, если уровень доверия был потерян и восстановлен в один и тот же день, PM, вероятно, будет пропущено (в зависимости от того, как совпали временные окна понижения и фоновой задачи).


Кроме того, стоит добавить, что автоматизация может срабатывать и при понижении пользователя. Поэтому, если вы создадите подходящее сообщение для вашего форума, обрабатывающее каждый случай, всё ещё будет целесообразно отправлять оба сообщения каждый раз при получении и потере уровня TL3 (что могло бы поддержать идею включения этого функционала в ядро системы).

2 лайка

Это объясняет, почему я никогда не получал новое ЛС во время тестирования. Ни один из моих тестовых аккаунтов не был заблокирован по уровню доверия достаточно долго, чтобы потерять значки до ежедневного сброса.

Тем не менее, это полезная информация, потому что теперь мне хочется заглянуть в код и выяснить, насколько сложно было бы добавить флаг для каждого уровня доверия, чтобы система знала: не нужно повторно отправлять сообщение, если оно уже было отправлено ранее для данного уровня доверия.

4 лайка

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

Возвращаясь к сообщениям уровней доверия (TL), было бы здорово иметь возможность полностью контролировать их: например, включать/выключать и редактировать сообщения для каждого уровня TL.

Настройки для управления этими сообщениями следующие:

  • send tl1 welcome message
  • send tl2 promotion message

Найдите следующие настраиваемые тексты:

  • /admin/customize/site_texts?q=system_messages.welcome_tl1
    • system_messages.welcome_tl1_user.subject_template
    • system_messages.welcome_tl1_user.text_body_template
  • /admin/customize/site_texts?q=system_messages.tl2_promotion
    • system_messages.tl2_promotion_message.subject_template
    • system_messages.tl2_promotion_message.text_body_template
1 лайк

Спасибо. Я знал, как редактировать сообщения TL1 и TL2 (только тело) — путем поиска некоторого текста в их исходном содержимом, — но остальные были для меня новостью.