管理者はどのように検閲された投稿を見つけるのですか?ユーザーごとの検閲された単語数などはありますか?

コミュニティが自己規制できるように、ほとんどの卑猥な言葉/機密情報(正規表現フレーズ)を検閲された監視単語に入れました。

しかし、投稿が検閲されたときに管理者に通知されないことに気づきました。理想的には、ユーザーが悪質な単語/フレーズを使用した回数をカウントして、不適切な投稿が多すぎる場合にサイレンスにできるようにしたいと考えています。

Discourseはユーザーごとに検閲された投稿をカウントしますか/管理者は検閲された投稿の通知を受け取ることができますか?

@Nesha

「いいね!」 2

あるいは別の角度から、検閲済みまたはフラグ付きの投稿を一覧表示するために高度な検索フィルターを使用することは可能ですか?

はい、最初に検索しました。

(ある程度)機能するもののリストをまとめました。

トピックを一覧表示するためのその他のクールなヒント

アーカイブ済みのすべてのトピックを一覧表示します。
https://datalabcommonstrial.discourse.group/latest?status=archived

クローズ済みのすべてのトピックを一覧表示します。
https://datalabcommonstrial.discourse.group/latest?status=closed

削除済みのすべてのトピックを一覧表示します。
https://datalabcommonstrial.discourse.group/latest?status=deleted

バンプ済みのすべてのトピックを一覧表示します。
https://datalabcommonstrial.discourse.group/latest?status=bumped

延期済みのすべてのトピックを一覧表示します。
https://datalabcommonstrial.discourse.group/latest?status=deferred

リストにないすべてのトピックを一覧表示します。
https://datalabcommonstrial.discourse.group/latest?status=unlisted

割り当て済みのすべてのトピックを一覧表示します。
https://datalabcommonstrial.discourse.group/latest?status=assigned

未回答のすべてのトピックを一覧表示します。
https://datalabcommonstrial.discourse.group/latest?max_posts=1

? 表示または非表示?

その他

これは検索ボックスで使用できます。
in:pinned および status:archived で検索できます。

さらに

タグなしトピックの検索/フィルタリング方法

advanced_filter(/^status:open$/) do |posts|
advanced_filter(/^status:closed$/) do |posts|
advanced_filter(/^status:archived$/) do |posts|
advanced_filter(/^status:noreplies$/) do |posts|
advanced_filter(/^status:single_user$/) do |posts|
advanced_filter(/^in:first|^f$/) do |posts|
advanced_filter(/^in:pinned$/) do |posts|
advanced_filter(/^in:unpinned$/) do |posts|
advanced_filter(/^in:(likes|bookmarks)/) do |posts, match| advanced_filter(/^in:posted/) do |posts|
advanced_filter(/^in:seen$/) do |posts|
advanced_filter(/^in:unseen$/) do |posts|
advanced_filter(/^in:wiki$/) do |posts, match|
advanced_filter(/^posts_count:(\d+)/) do |posts, match| advanced_filter(/^min_post_count:(\d+)/) do |posts, match|
advanced_filter(/^badge:()/) do |posts, match| advanced_filter(/^with:images/) do |posts|
advanced_filter(/^#([\p{L}0-9-:=]+)/) do |posts, match| advanced_filter(/^group:(.+)/) do |posts, match|
advanced_filter(/^user:(.+)/) do |posts, match| advanced_filter(/^@([a-zA-Z0-9_-.]+)/) do |posts, match|
advanced_filter(/^before:()/) do |posts, match| advanced_filter(/^after:(.*)/) do |posts, match|
advanced_filter(/^tags?:([\p{L}0-9,-+]+)/) do |posts, match| advanced_filter(/^-tags?:([\p{L}0-9,-<em>+]+)/) do |posts, match|
advanced_filter(/^filetypes?:([a-zA-Z0-9,-_]+)$/) do |posts, match|

「いいね!」 3

参考情報:現時点では私たちのニーズに十分な、比較的シンプルなクエリを作成しました。

SELECT
id, user_id, topic_id, post_number, cooked, raw
FROM posts p
WHERE cooked ~* ‘.*■’

結果:

私たちのSQLウィザードの一人が、検閲された単語の正確な位置を見つける、はるかに洗練されたクエリを作成中です。それはある程度機能していますが、彼はrawとcookedの長さが同じではないと不平を言い続けています…これは、監視された単語によって見つかった結果を保存し、特に管理することがいかに難しいかを改めて認識させてくれます。

「いいね!」 2

最終的にこれを洗練することはできましたか?

いや、マークダウン版とライブ版で検閲された単語を見つけるのが悪夢すぎただけで、(現時点では私たちの新しいプラットフォームでは) 目でスキャンする方が簡単だったと思います。もし他の誰かが方法を見つけたら、教えてください!

「いいね!」 1