フォーラムの一部のトピックでは、スローモードは非常に便利です。しかし、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,
こんにちは @physixfan
ご提案ありがとうございます!これは確かに便利な機能リクエストです。この機能を追加するPRをマージしました。
これで、管理ログパネルでスローモードを変更したユーザーを確認できるようになりました。
「いいね!」 8
このトピックは、最後の返信から2日後に自動的に閉じられました。新しい返信は許可されていません。
