Зарезервированные имена пользователей программно?

Привет, ребята!

Возможно ли управлять «зарезервированными именами пользователей» программно?

Я понимаю, что существует такой инструмент, как rails console. Если это можно сделать там, стоит ли новичку сразу переходить к нему?

Или же, как добавить множество длинных слов в список зарезервированных имен пользователей? Спасибо.

Я считаю, что это можно сделать в консоли Rails, и у меня есть идея, как именно. Но если вы новичок в работе с консолью Rails и не знакомы с ней, я бы посоветовал сначала немного больше узнать о ней, прежде чем выполнять подобные действия. Ошибки в консоли Rails могут сломать ваш форум. На всякий случай, вероятно, безопаснее сделать это вручную через административный интерфейс.

WebUI не работает у меня — я не против неработающих вещей, для этого и существуют labs.

Если вы не знакомы с Rails, вы можете реверс-инжинирить API Discourse и делать это с помощью curl или аналогичных инструментов.

Да, я делал это однажды для сайта с огромным списком зарезервированных имен пользователей. Если вы осознаёте риски использования консоли Rails, вы можете войти в неё, перейдя в директорию /discourse на вашем сервере и выполнив:

./launcher enter app
rails c

В появившемся приглашении выполните:

SiteSetting.reserved_usernames

Вы должны увидеть вывод, похожий на этот:

"admin|moderator|administrator|mod|sys|system|community|info|you|name|username|user|nickname|discourse|discourseorg|discourseforum|support|all|here"

Это значение настройки по умолчанию. Скорее всего, вы захотите добавить список по умолчанию к вашему пользовательскому списку. Убедитесь, что весь список заключён в кавычки, при этом каждый элемент разделён символом вертикальной черты (|).

Затем выполните:

SiteSetting.reserved_usernames="your|reserved|usernames"

Замените your|reserved|username на ваш фактический список имен пользователей.

Выйдите из консоли Rails, введя exit в приглашении.