Существует ли способ создать автоматическую группу, содержащую всех владельцев групп, аналогично тому, как работает @staff?
Я хочу присвоить всем владельцам моих групп уровень доверия TL2 и отслеживать их по мере быстрого роста моего сайта (надеюсь). Кроме того, я хочу со временем изменять их права как группу, а также общаться с ними и создать для них отдельную категорию. Я не хочу назначать их всех модераторами, так как они пока к этому не готовы.
Временно я могу делать это вручную; однако по мере роста нашего тщательно управляемого форума автоматическая группа становилась бы всё более полезной.
Или же, насколько сложно было бы реализовать это в виде плагина?
SQL-запрос для этого находится здесь (его также можно использовать в Data Explorer):
SELECT DISTINCT user_id, owner, CURRENT_TIMESTAMP granted_at
FROM group_users
WHERE group_users.owner = true
Я использую CURRENT_TIMESTAMP, так как в базе данных, насколько я вижу, нет удобного временного метки для владения группой. Также нет подходящего триггера, поэтому параметр :backfill можно опустить.
Предлагаю такую конфигурацию:
Запускать запрос на отзыв ежедневно.
Триггер: обновление ежедневно.
Не уверен насчет пункта «Можно выдавать несколько раз».
Запрос срабатывает только один раз для каждого пользователя, поэтому повторная выдача невозможна. Но, возможно, потребуется выдавать значок снова после его отзыва — не уверен!