申し訳ないが見たくないイラストはNG
< Feedback on ニコニコ静画、簡単NGスクリプト
もちろんどうぞ!
ありがとうございます!
では早速ですが、連投自動NGに引っかかったIDはNGリストではなく直接ブラックリストに入れる設定も欲しいです。
自分の場合1時間に10枚とかなり重めに設定してますので、それに引っかかるようなIDはグレーアウトでも目に入れたくないためです。
それから前に静画の方でその投稿者の最終投稿日時情報を取得するのは難しいとおっしゃっていましたが、
代わりにブラックリストにあるIDの絵をスクリプトで非表示にする度にその日付をIDに紐付けるというのはどうでしょうか?
稼働中のIDには常に新しい日付が付けられ、古い放棄されたIDなら紐付けの日時も古いままなので確認が容易になります。
その上で日付が1ヶ月以上等 設定された期間が経過してるIDは自動でブラックリストから削除するという機能を付ければリストの肥大化も抑えられると思います。
この方法ならばユーザー情報を取得する必要もないので行けそうな気がしますがいかがでしょうか?
日付更新の処理もイラストを読み込んで表示させた後に行えるならば遅延にもならないと思います。
ただしこの方法だと手動でブラックリスト入りさせた無期限で表示させたくないようなIDも自動解除されてしまうので別のリスト枠を用意する必要があるかもしれません。
個人的にはホワイトリスト(表示/連投対象外)、ブラックリスト(非表示/連投自動登録)、NGリスト(非表示/手動登録)の3つがあればいいかなと思います。
その上でID自動除外の期間を各リスト毎に設定できれば便利になる気がします。
>>連投自動NGで直接ブラックリストのオプション
了解です。
>>リストについて
静画では文字数もあったので改めて説明すると、今保存している情報は
投稿者のID 1,
ステータス(OK,NG,BLACK,WHITEのどれか) 1,
イラストID 1,
投稿時間 1,
イラストID 2,
投稿時間 2
...
投稿者のID 2,
ステータス(OK,NG,BLACK,WHITEのどれか) 2,
イラストID 3,
投稿時間 3,
イラストID 4,
投稿時間 4
...
...
というかんじに、表示した全投稿者全イラスト情報を貯めてます。(伝わらなかったらごめんなさい)
すでに投稿時間をとっているのはそれを使って連投かどうか確認するためです。
なので情報を持っているなかで一番新しいイラストがいつのものなのかは容易に把握できます。
ただ、
>>設定された期間が経過してるIDは自動でブラックリストから削除する
とありますが、これはユーザーIDのことでしょうか?
もしそうならブラックリストから削除した後、再びこのユーザーのイラストを検知したときに非表示にならずそのまま表示されてしまうのですが・・・
|>>設定された期間が経過してるIDは自動でブラックリストから削除する
|とありますが、これはユーザーIDのことでしょうか?
|もしそうならブラックリストから削除した後、再びこのユーザーのイラストを検知したときに非表示にならずそのまま表示されてしまうのですが・・・
そうです、イラストIDではなくユーザーIDのことでした。
ID自動削除後、その投稿者が久しぶりに投稿したものが通常通り表示されることは問題ないと思われます。
また連投条件に引っかかるようなら自動NG入りですし、その人の絵なら低頻度投稿すら二度と目にしたくないというならば改めて手動でリスト入りさせるなどの選択肢が生まれますので。
投稿は続けているものの別タグで活動してたという条件でもリストからは解除されてしまいますが、当面の害はなくなったということなので問題ないと思われます。
>>というかんじに、表示した全投稿者全イラスト情報を貯めてます。
これは「OKユーザーのキャッシュ最大数」のことでしょうか?
まず質問から
>>これは「OKユーザーのキャッシュ最大数」のことでしょうか?
「OKユーザーのキャッシュ最大数」は情報を貯めるなかで使っているのでまあ近いです。
キャッシュとかの言い方が不適切で分かりにくくなってるかもしれませんが、
ニコニコと通信して問い合わせた情報とユーザーのステータスは、ストレージから読み込んだ情報(キャッシュ)に一緒に追加して、
それでまたストレージを更新しています。
これを繰り返すと情報が増えすぎて遅くなるかもしれないので、
ステータスがOKなユーザーを数えて、「OKユーザーのキャッシュ最大数」を超えていたら
使ったのが最も古いOKユーザーを削除していってます。
それと実際のデータでは1つのリストで管理していることが伝わっているのかわからないので一応それも書いておきます。
やりたいことはわかりましたが、
>>設定された期間が経過してるIDは自動でブラックリストから削除する
ということは
現在時刻から一定期間内の投稿でのみ連投になっているかどうかを判断して自動NGを適用し、
もともと適用されていて、そこから適用されなくなったユーザーはステータスをOKに戻す
でいいのでしょうか?
これだと過去の連投は表示されることになります。
まあ連投判定を厳しく設定していればおそらく通報されて消えるでしょうが。
>現在時刻から一定期間内の投稿でのみ連投になっているかどうかを判断して自動NGを適用し、
>もともと適用されていて、そこから適用されなくなったユーザーはステータスをOKに戻す
>でいいのでしょうか?
OKリストと言われると何かしら許可しているような印象を受けますが、要はNG・ホワイト・ブラックどれも設定されてない未分類リストということですよね?
そういうことならばその解釈で合っています。
>これだと過去の連投は表示されることになります。
期間が過ぎて再表示されるのは困るという人は設定期間をゼロにするなりオフにするなりで使い分けさせれば良いかと。
新着順さえ快適に見れれば、1ヶ月前の投稿欄が荒れてても気にする人はあまり多くはいないと思われます。
又、運営によるBANも当日は期待できませんが数日経った後に対処されることはよくあるので、
過去絵検索したら荒れたままになっていたなんてことはあまりない気がします。
>> 要はNG・ホワイト・ブラックどれも設定されてない未分類リストということですよね?
そうです。
そしたら具体的には
・連投自動NGで監視する期間の設定を追加
・ステータスとして新しくAUTONGを追加
・AUTONGのユーザーはグレー表示か非表示かを選べるようにする
・AUTONGで連投自動NGに該当しなくなったら未分類に戻す
でいこうと思います
個人的に、今のNGはあまり興味ないけど消すほど嫌いでもないユーザーに対して
使ってるのでNGの動作を改造していくのはやめました
そうなると期間で自動未分類化対象はAUTONGリスト内のみということになりますよね?
できれば手動で非表示にさせたユーザーIDも期間で自動未分類化させる機構が欲しくなりますね…
リスト毎に期間指定が個別に設定できるようにするのはどうでしょうか?
>>手動で非表示にさせたユーザーIDも期間で自動未分類化
というのはどういう状況、用途を考えているのでしょうか?
連投設定には引っかからないような高頻度ではない荒らしIDも期間で整理できる用にですね。
Nico Nico Ranking NGスクリプトは使ったことがあるでしょうか?
あのスクリプトを使っているとNGユーザー数が減ることなくどんどん増えていきます。
数の整理をしようにもNGした日時やどの動画でNGしたか、
現在もフィルタリング維持が必要なほど活動してるのか等まるでわからないので区別のしようがないからです。
重くなってきてもできることは一括削除しかないので、放置ユーザー分は整理できますが現役ユーザーに対してはまたイチからNGし直しになるわけです。
また、ヒット数が多く検索に邪魔なユーザーを一時的に非表示にして使うこともありますが、
そういうNGユーザーも用が済んだらすぐに解除しなければ他のNGユーザーと見分けがつかなくなり溜まっていく一方になります。
なるほど、了解しました。
そしたら
・連投自動NGで監視する期間の設定を追加
・ステータスとして新しくAUTONGを追加
・AUTONGのユーザーはグレー表示か非表示かを選べるようにする
・情報を持っているなかで一番新しいイラストがリスト毎に指定した期間を超えたユーザーは未分類化(長い)
でいきます。
1週間、長くても2週間以内にできると思います。
了解です。楽しみにお待ちしております。
連投自動NG関連を更新しました。
少し忙しくて気が付いたらもう2週間でした・・・
未分類化の実装も出来てなくてすみません。
更新お疲れ様です
この時期忙しいのは羨ましい限りです。
私生活を優先してのんびり取り組んでください。
多分設定ミスだと思われますが「日前のイラストまで対象」の左の入力欄が小さいっすね…
↑タグ、イラストページは正常だったから定点観測のみの不具合だと思われます。
追加機能のリクエストは歓迎なようなのでこちらで要望を出しても良いのでしょうか?