慢速模式对我们论坛的某些主题非常有用。但我发现 Discourse 在这方面存在一个严重的设计缺陷:没有记录谁添加或删除了慢速模式。我甚至检查了数据库,仍然没有记录。任何 TL4 用户都拥有此功能。对于有争议的主题,添加或删除慢速模式会使主题更具争议性,我们确实需要知道是哪个用户执行了此操作。
1 个赞
您可以使用 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
2 个赞
我认为它们存储在 topic_timers 中(至少在它们处于活动状态时),所以类似这样的东西可能可以解决问题:
SELECT
topic_id,
user_id
FROM topic_timers
WHERE status_type = 9
不过,在这两个查询中,它们都只给出了活动计时器,而没有给出慢速模式已结束的结果。我认为将此添加到员工操作日志中会是一个很好的补充。
5 个赞
这给了我创建(或最后更新)主题的用户,而不是添加或删除慢速模式的用户。
1 个赞
对我们来说重要的是谁移除了管理员添加的慢速模式。
同意
2 个赞
哈哈,我现在看到了。 ![]()
u.id AS user_id,
8 个赞
此主题在上次回复后 2 天自动关闭。不再允许新回复。
