Заглушить пользователя через API

Сценарий использования:
Мы используем стороннюю платформу для платежей, чтобы «понижать» уровень пользователя в случае неоплаты или истечения срока действия подписки. В этом случае мы хотим также «понижать» его уровень в Discourse. То есть мы хотим, чтобы он мог получать доступ к форуму, но не мог создавать контент. По этой причине функция «заглушение» кажется наиболее подходящей.

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

Я видел эту тему, где обсуждается API администратора для заглушения пользователей. Однако я не вижу её в документации. Надеюсь, она не была удалена :grimacing:

Быстрое обновление: я обнаружил, что выполнение PUT-запроса к конечной точке, упомянутой здесь, действительно работает. То же самое касается и параметра «reason».

Не могли бы вы пояснить, почему это не включено в документацию?

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

Можете уточнить? Права доступа к категориям не применяются к таким разделам, как «Без категории». Кроме того, без использования плагина невозможно настроить детальное ограничение: «нельзя писать, но можно читать» для каждой категории отдельно.

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

Не уверен насчет категории «Без категории».

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

Также можно переместить этих пользователей в уровень tl0, чтобы контролировать отправку личных сообщений.