Разрешить отправку личных сообщений только определенным пользователям без прав администратора

Здравствуйте,

Я добавляю сообщество Discourse в платный сервис. В качестве одного из преимуществ платной подписки я хочу разрешить отправку личных сообщений только участникам определённого тарифного плана. Из того, что я нашёл при поиске по сайту, личные сообщения можно отключить для всех, кроме администраторов, но я не вижу способа создать набор разрешений или группу, которая позволяла бы указать, что определённые неадминистраторы могут отправлять личные сообщения, в то время как все остальные неадминистраторы — нет.

Возможно ли сделать то, что я планирую, и если да, можно ли управлять этим разрешением через API?

Спасибо.

Возможно, вы сможете использовать настройку min_trust_to_send_messages (сделайте участников TL3 и установите значение настройки в 3).

Если это не сработает для вас, вам понадобится плагин, который переопределяет Guardian.can_send_private_message?. Это должно быть выполнимо за несколько часов работы.

Спасибо, Ричард.

Если я выберу путь с уровнями доверия, будет ли Discourse периодически сбрасывать уровень доверия пользователя в зависимости от требований:

Или же, как только я установлю значение, оно останется неизменным до достижения более высокого уровня доверия (например, TL4)?

Меня беспокоит, что после перехода пользователя с TL1 на TL2 он может быть понижен с TL3 до TL2.

Я вижу, что в интерфейсе есть опция «Заблокировать уровень доверия», но не уверен, доступна ли она через API.

Да, вам действительно нужно будет ограничить уровень доверия.

Из-за того, как спроектирован Discourse, весь функционал доступен через API.