Режим замедления очень полезен для некоторых тем на нашем форуме. Однако я обнаружил серьёзный недостаток в дизайне Discourse: нет записи о том, кто включил или отключил этот режим. Я даже проверил базу данных, но записи всё равно нет. Эту возможность имеют все пользователи с уровнем TL4. В спорных темах включение или отключение режима замедления лишь усиливает противоречия, и нам действительно важно знать, какой пользователь это сделал.
Вы можете запросить эту информацию с помощью Data Explorer. Думаю, это должно сработать — вам нужно указать даты начала и окончания. Запрос вернет тему, время медленного режима в секундах, когда медленный режим для темы был обновлен, и кто это сделал:
-- [params]
-- date :start_date
-- date :end_date
SELECT
t.id AS topic_id,
t.title,
t.slow_mode_seconds,
t.updated_at,
u.id AS user_id,
u.username
FROM
topics t
JOIN
users u ON t.user_id = u.id
WHERE
t.slow_mode_seconds > 0
AND t.updated_at BETWEEN :start_date AND :end_date
ORDER BY
t.updated_at DESC
Полагаю, они хранятся в topic_timers (по крайней мере, пока активны), поэтому что-то вроде этого, вероятно, сработает:
SELECT
topic_id,
user_id
FROM topic_timers
WHERE status_type = 9
Однако в обоих запросах возвращаются только активные таймеры, а не результаты, когда режим «медленного» чата уже завершился. С моей точки зрения, было бы хорошим дополнением включить эту информацию в логи действий персонала.
Это возвращает пользователя, который создал (или последний раз обновил) тему, а не пользователя, который включил или отключил режим замедления.
Для нас важно то, кто отключил режим замедления, установленный администратором.
Согласен
Ха-ха, да, я это теперь вижу. ![]()
u.id AS user_id,
Привет, @physixfan!
Спасибо за ваше предложение! Это действительно полезная идея для улучшения. Я объединил PR, который добавляет этот функционал:
Теперь вы можете увидеть, кто изменял режим «медленный чат», в панели журналов администратора:
Эта тема была автоматически закрыта через 2 дня после последнего ответа. Новые ответы больше не принимаются.
