5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

【教えて君は】ニコニコ動画専用オミトロン【半年ROMれ】

1 :名無しさん@お腹いっぱい。:2007/04/27(金) 12:47:53 ID:OcAnr84Y0
[HTTP headers]
In = TRUE
Out = FALSE
Key = "Nico XML-Filter On"
URL = "msg[0-9]+.nicovideo.jp/*"
Replace = "$FILTER(true)"

[Patterns]
Name = "Nico Custom(Message ID)test"
Active = TRUE
URL = "msg[0-9]+.nicovideo.jp/*"
Limit = 200
Match = "(chat date="[^"]+" (mail="[^"]+" |))\1(name="([^"]+)\2" |)([^>]++user_id="([^"]+)\3")\4"
Replace = "\1name="\[\3\]\2" \4"


■設定方法は↓これを見ると分かりやすいかも
ニコニコとおみとろん1.1
http://www.nicovideo.jp/watch/sm119833


ID表示させるとこんな感じになります
━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
     _ -‐  ̄  - _  ┃04月06日12時34分(0:01) [252525]: 高画質エンコ頑張ってみた.     ┃
   /:.:.:.:.:.:.:.:.:.:.:./:.:.:.:.:.:.ヽ ┃04月06日12時38分(0:30) [72145]: 2get                   ┃
. ./:/:.:./:.:.:.:.:.:.:.:.lヽ、:.:.:.:.:.`┃04月06日12時40分(2:05) [102826]: なんぞこれー              ┃
.../:.:./:.:./:.:.:.l:.:.:.:.:l:l  ` ‐、彡┃04月06日18時10分(2:34) [252525]: 高画質だな               ┃
..l:.:./:.:./:.:.:.:.l:.:.:.:.:ll:|    ヘ:.┃04月06日20時52分(0:00) [252525]: うp主GJ                   ┃
 l:|:.:.:.|:.:.:.:..|:.:.:.:.:|N -‐‐ 、 ',:┃04月06日21時15分(1:06) [252525]: すげw高画質すぎw          ┃
 〉:.─ --‐──        l┃                                            ┃
./:.:r‐l r=ミ    r=ミ、  l┃                                            ┃
l:.:.l:l . l      ,      / ┃                                            ┃
|:.:.l:.:`-、    r‐─ォ    /‐:┃                                            ┃
━━━━━━━━━━━┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

179 :名無しさん@お腹いっぱい。:2007/05/02(水) 03:53:53 ID:???0
[HTTP headers]
In = FALSE
Out = FALSE
Key = "Referer: Camouflage Referer (Out)"
Match = "(http://|(^http://))$LST(C-Referer)$LOG(wReferer: \0)|$SET(0=\u)$LOG(wReferer: Accessing URL)"
Replace = "http://pc11.2ch.net/test/read.cgi/streaming/1177645673/"

絶対使うなよ

180 :名無しさん@お腹いっぱい。:2007/05/02(水) 06:59:40 ID:???0
$LOCKって意味あるの?重くなるだけだと思うんだが。
[^"]+も、*より数倍処理が遅いらしいし。
これで問題なく動いてる。

[Patterns]
Name = "Nico id view [07/05/01]"
Active = TRUE
Multi = TRUE
URL = "msg[0-9]+.nicovideo.jp/([0-9]+/|)api/$TYPE(oth)"
Limit = 300
Match = "(<chat date=$AV(*) )\1(mail=$AV(*) |)\2(name=$AV(\3) |)(no=$AV(*) thread=$AV(*) user_id=$AV(\4) vpos=$AV(*)>)\5"
Replace = "\1\2name="\[\4\]\3"\5"


181 :名無しさん@お腹いっぱい。:2007/05/02(水) 07:15:04 ID:???0
ついでに

[Patterns]
Name = "Nico wwwonly killer [07/05/02]"
Active = TRUE
Multi = TRUE
URL = "msg[0-9]+.nicovideo.jp/([0-9]+/|)api/$TYPE(oth)"
Limit = 300
Match = "<chat date=$AV(*) (mail=$AV(*) |)(name=$AV(*) |)no=$AV(*) thread=$AV(*) user_id=$AV(*) vpos=$AV(*)>"
"("
"w+|"
"([%ef][%bd][%97])+"
")</chat>"

Name = "Nico BlackListID killer [07/05/02]"
Active = TRUE
Multi = TRUE
URL = "msg[0-9]+.nicovideo.jp/([0-9]+/|)api/$TYPE(oth)"
Limit = 300
Match = "<chat date=$AV(*) (mail=$AV(*) |)(name=$AV(*) |)no=$AV(*) thread=$AV(*) user_id="$LST(nicoList)" vpos=$AV(*)>*</chat>"



182 :名無しさん@お腹いっぱい。:2007/05/02(水) 07:36:55 ID:???0
単純に$AVを知らないだけかと

183 :名無しさん@お腹いっぱい。:2007/05/02(水) 09:40:18 ID:???0
最初から出せよカス

184 :名無しさん@お腹いっぱい。:2007/05/02(水) 09:47:48 ID:???0
重くなるってどんな糞PCだよ

185 :名無しさん@お腹いっぱい。:2007/05/02(水) 11:48:38 ID:???0
>>180
$AV使いすぎもっと工夫しろ

186 :名無しさん@お腹いっぱい。:2007/05/02(水) 11:55:42 ID:???0
>>185
大抵シンプルなのが一番早くなる

187 :名無しさん@お腹いっぱい。:2007/05/02(水) 12:05:43 ID:???0
user_id以外に$AV付ける必要あるのこれ?

188 :名無しさん@お腹いっぱい。:2007/05/02(水) 12:07:29 ID:???0
早さなんてどうでもいいからここまでのまとめ作ってくれ

189 :名無しさん@お腹いっぱい。:2007/05/02(水) 12:09:52 ID:???0
>>188
>>180がAV見まくって早くイクことを覚えたが、他からの刺激には鈍感になってしまった
まとめ完了

190 :名無しさん@お腹いっぱい。:2007/05/02(水) 12:40:02 ID:???0
>>188
http://abc.s65.xrea.com/prox/wiki/%A5%D5%A5%A3%A5%EB%A5%BF%A1%A2%A5%EA%A5%B9%A5%C8%B8%F8%B3%AB/nicovideo/
ほれ

191 :think ◆MM0nnAOCiQ :2007/05/02(水) 14:27:28 ID:???0
>>180-181
フィルタ作成お疲れ様です。

> $LOCKって意味あるの?
私は$LOCKを使ったことがないのですけど、フィルタが読み込まれる優先順位を把握していれば、問題ない印象を持っています。
既存のニコニコ動画のフィルタを例にとると、NGWord, NGIDなどの「コメントを削除するフィルタ」を最上位に持って行き、ID表示などの「コメントを改変するフィルタ」をその後に持ってくれば、問題を回避できると思います。
「削除するフィルタを上位に持ってくる」テクニックは覚えておくと便利です。

Proxomitron フィルター作成スレッド Part6
http://pc11.2ch.net/test/read.cgi/software/1163404832/551n

・$AVがほにゃららについて
キャプチャしなくて良い部分は、[^>]++ ですっ飛ばすと速く、管理しやすいですよ。

192 :名無しさん@お腹いっぱい。:2007/05/02(水) 15:32:26 ID:???0
>>190
非常にわかりやすい

193 :名無しさん@お腹いっぱい。:2007/05/02(水) 19:21:16 ID:???0
>>191
これは勉強になった
adkiller系は上ね

194 :think ◆MM0nnAOCiQ :2007/05/02(水) 22:45:24 ID:???0
◆KARENvz9aM氏のまとめに感動して、私もいろいろ作ってみました。
http://vird2002.s8.xrea.com/download/#filter_niconico

私のゴーストがこう囁くのよ。
世界中の人々があと少しだけ優しくなれたらって。
べ、別に私がそう思っているわけじゃないんだからねっっっ!!

195 :名無しさん@お腹いっぱい。:2007/05/02(水) 23:14:27 ID:???0
職人さんいつも乙です

196 :名無しさん@お腹いっぱい。:2007/05/02(水) 23:41:34 ID:???0
前の仕様で表示させるのはオミトロンでも無理ですか?

197 :名無しさん@お腹いっぱい。:2007/05/03(木) 00:12:11 ID:???0
プログラム書けるやつってすごいな。

198 :名無しさん@お腹いっぱい。:2007/05/03(木) 00:16:40 ID:???0
>>197
新参はこういうパターンでくるのか
正に新参だな

199 :119 ◆KARENvz9aM :2007/05/03(木) 00:24:15 ID:???0
>>180
自分だけなのかも知れないが

Match=(chat date="[^"]+" (mail="[^"]+" |))\1(name="([^"]+)\2" |)([^>]++user_id="([^"]+)\3")\4
の場合と>>180の場合で見えるIDと見えないIDがある。

http://www.nicovideo.jp/watch/sm19332
>>180のMatchの場合、5月2日9:35の書き込みのIDが見れない。

逆に前のverの場合は見れる。
(鯖の影響か同じIDの書き込みと思われるモノで見えないモノもあるが…)

動作が重くなると言ってもたかが知れてるし
現状では前verの方が良いかも知れんス。

200 :名無しさん@お腹いっぱい。:2007/05/03(木) 00:25:18 ID:???0
あー、すまん。
設定済みうpの時以外にコテ名乗るつもりは無いんだけど
クッキーで残ったままでした。
スマソ

201 :名無しさん@お腹いっぱい。:2007/05/03(木) 00:48:58 ID:???0
>>199
俺もなった
戻すか

202 :think ◆MM0nnAOCiQ :2007/05/03(木) 01:00:17 ID:???0
あああ、>194のフィルタは $FILTER(true) しないと動かないですね。
DLされた方はお手数ですが、以下のフィルタを適用してください。m(_ _)m

[HTTP headers]
In = FALSE
Out = TRUE
Key = "URL: Enable NicoVideo msg-server (Out) [2007/05/03]"
Match = "http://msg[0-9]+.nicovideo.jp/api/(^?)"
Replace = "$FILTER(true)"

取り急ぎ、Webサイトの方にも修正版をUPしておきました。

203 :名無しさん@お腹いっぱい。:2007/05/03(木) 01:00:30 ID:???0
普通に見えるわけだがどんな改変したんだ

204 :名無しさん@お腹いっぱい。:2007/05/03(木) 01:29:15 ID:???0
プログラムの知識が全く無いんで
ちょい質問良いかい?

>>181のコードがwwwオンリーをフィルタリング出来るなら
「ノ」とか「1」とか1文字しか入力されていないコメントを
削除出来る様になるんでないかい?

後、利便性は全く無いかも知れないが
他人のコメントを全部big greenに
変えたりとかも出来たりするんだろうか?

オミトロンwiki見ながら色々いじったけど
全く動作する気配が無く詰まったので聞いてみる。

205 :名無しさん@お腹いっぱい。:2007/05/03(木) 01:34:52 ID:???0
>>204
>>194
↓ID表示の応用

206 :think ◆MM0nnAOCiQ :2007/05/03(木) 01:40:37 ID:???0
>>199
見えないと思われるコメントのソースを抽出すると、こうなります。

<chat date="1178066136" mail="big red" name="                                  Hayate" ...(中略)...
<chat date="1178066150" mail="big orange" name="                                  Hayate" ...(中略)...
<chat date="1178066164" mail="big" name="                                  Hayate" ...(中略)...
<chat date="1178066176" mail="big orange" name="                                  Hayate" ...(中略)...
<chat date="1178066185" mail="big red" name="                                  Hayate" ...(中略)...
<chat date="1178066307" mail="shita pink" name="                                  Hayate" ...(以下略)...

どうみても、荒らしです。本当にありがとうございました。

…冗談は抜きにして、名前の先頭に全角空白を多く含んでいるために、名前を表示しきれないのだと思われます。
というか、バイパスしても名前が表示されません。
投稿者がお馬鹿さんということもありますけど、ニコニコ動画側の実装不備ですね、これは。

コマンド一覧 - ニコニコ動画まとめwiki
http://nicowiki.com/command.html

によれば、「名前の文字数は64まで...全角、半角は区別されない」ということですが、表示しきれないほどの文字数で名前を投稿できることが問題です。
名前は15文字限度、全角空白/半角空白/記号を含むことはできない、程度の配慮が欲しいところです。

207 :名無しさん@お腹いっぱい。:2007/05/03(木) 01:42:33 ID:???0
他人のコメのコマンドを全部変える奴なら>>141で出来ると思う

208 :think ◆MM0nnAOCiQ :2007/05/03(木) 01:42:43 ID:???0
>206の続き。
Proxomitronによる対抗手段としては、

1. 名前の文字数が一定以上のコメント削除
2. 名前に空白を含むコメント削除
3. 名前に空白を含んでいる場合、空白を削除して表示

あたりが有効と思われます。

とりあえず、以下のフィルタで該当コメントが表示されます。(3. の実装ですが、まだ改善の余地があります)

[Patterns]
Name = "NicoVideo: View ID + Delete space in name [2007/05/03] test1"
Active = TRUE
URL = "$TYPE(oth)msg[0-9]+.nicovideo.jp/api/(^?)"
Limit = 256
Match = "<chat(^(^\s[^>]++user_id=$AV(\0)))"
"(([^>]++\sname=)\#$AV(([%e3][%80][%80])+\1([%e3][%80][%80])+)$SET(#="\1 [\0]")|$SET(#= name="[\0]"))"
"(^(^[ >]))"
Replace = "<chat\@"

209 :名無しさん@お腹いっぱい。:2007/05/03(木) 01:46:34 ID:???0
実装不備というよりは仕様じゃないのかな
右にスクロールすれば全部見えるし

210 :名無しさん@お腹いっぱい。:2007/05/03(木) 01:48:05 ID:???0
右にスクロールって限度がないか?
長いコメだと途中までしか見えない気がする

211 :think ◆MM0nnAOCiQ :2007/05/03(木) 01:52:21 ID:???0
>>203
私(>202)への返信でしょうか?

>194の公開当初は、「メッセージサーバでProxomitronを有効にするフィルタ」を入れていませんでした。
これがないと、

NicoVideo: Kill chat-item [easiness] [2007/05/02]
NicoVideo: Kill chat-item [NGWord] [2007/05/01]
NicoVideo: View ID [2007/05/02]
NicoVideo: ReplaceStr [2007/05/02]

が機能しません。
もし、>202のフィルタなしで動作したのなら、他の方の作成したフィルタが入っていたからだと思います。
今まで見てきたフィルタはどれも、$FILTER(true) (フィルタを有効にするためのコマンド) を利用しています。

>>209
き、気が付かなかった…。
しかし、やはり見辛いので改善をお願いしたいです。

212 :名無しさん@お腹いっぱい。:2007/05/03(木) 01:53:58 ID:???0
>>210
たしかに長すぎると見えないね

213 :名無しさん@お腹いっぱい。:2007/05/03(木) 02:17:12 ID:???0
コメントが表示されるボックスの日付のフォーマットを
オミトロンで変えることってできないですかね?

具体的には、"**月**日 **時**分"ってのを"**/** **:**"
って感じにしたいのですが。

オミトロン経験が浅すぎてわからんす、ボスケテ。


214 :名無しさん@お腹いっぱい。:2007/05/03(木) 02:39:11 ID:???0
右スクロールの限界突破をオミトロンで出来れば・・・

215 :名無しさん@お腹いっぱい。:2007/05/03(木) 02:46:07 ID:???0
>>213
オミトロンでswfの中身そのものを書き換えれれば可能だな
あるいは改造した表示用のswfをローカルサーバーに置いて
オミトロンで呼び出すswfをそれに書き換えれば理論上は可能なんじゃね?

216 :名無しさん@お腹いっぱい。:2007/05/03(木) 03:02:30 ID:???0
ここの機能がオールインワンになったニコニコブラウザが出来るの楽しみに待ってるよ

217 :think ◆MM0nnAOCiQ :2007/05/03(木) 03:11:04 ID:???0
>>204
> 他人のコメントを全部big greenに変えたりとかも出来たりするんだろうか?
勿論、できます。
ちなみに、メッセージサーバのソースは、以下のようになっています。

<chat date="1177945077" mail="big green" name="名無しさん" no="1111" thread="111111111" user_id="111111" vpos="11111">こんにちは</chat>

xmlフォーマットですが、htmlと似た形式なので比較的理解しやすいかと思います。
それぞれの意味は以下のようになると思われます。(要素と属性の関係はHTMLと同様です)

chat要素の内容 … コメント
name属性値   … 名前
mail属性値   … 書式
date属性値   … 投稿日時
no属性値    … 記事No.
thread属性値  … スレッドNo.
user_id属性値 … ユーザーID
vpos属性値   … 動画上のコメント位置(時間)

「big green」はmail属性値に当たるので、ここを改変してやってください。
<chat\s[^>]++ で目的のmail属性値まで消費して、$AV(*) で属性値を丸ごと消費してしまえば良いと思います。

218 :名無しさん@お腹いっぱい。:2007/05/03(木) 03:17:36 ID:???0
>>215
やっぱりそっち関係イジらないとですかー。
レスありがとう。

219 :think ◆MM0nnAOCiQ :2007/05/03(木) 03:19:51 ID:???0
「同一IDによる連続投稿を削除するフィルタ」を適用したら、↓の動画のコメントが寂しくなる件。

ニコニコ動画(γ)‐最強○×計画+ハルヒ フル
http://www.nicovideo.jp/watch/sm19332

[Patterns]
Name = "NicoVideo: Kill chat-item [repeated post] [2007/05/03] test1"
Active = TRUE
URL = "$TYPE(oth)msg[0-9]+.nicovideo.jp/api/(^?)"
Limit = 2048
Match = "$NEST(<chat\s[^>]++user_id=$AV(\0),</chat>)"
"( $NEST(<chat\s[^>]++user_id=$AV($TST(\0)),</chat>))+{1,*}"

220 :名無しさん@お腹いっぱい。:2007/05/03(木) 03:42:48 ID:???0
同一内容連投まで緩めてもいいんじゃね?とは思う

221 :名無しさん@お腹いっぱい。:2007/05/03(木) 08:02:32 ID:???0
>>205 >>207 >◆MM0nnAOCiQ
レス有難う
205の内容を見て頑張ってみたが全然駄目だった。
朝起きて>>207の書き込みを見て、昔自分が
「これって必要なんだろうか…」と実装してなかったのを思い出したorz

今からちょっとパターン増やして実験して
実用性あれば次のうpの時に機能追加しておきますわ。


Vista持ってる人にお願いなのですが、
IE7+Vistaでのオミトロン動作確認と
その他+Vistaでの動作確認お願い出来ませんか。

222 :180,181:2007/05/03(木) 08:59:21 ID:???0
お、thinkさんが居る。
>>180,181のフィルタはthinkさんの「*は+?より早い」を見て改変した奴です。
[^>]+で飛ばし、$NESTで纏め、Bounds使用等も試したけれど、
一番早かったのはソースそのままに$AV(*)を使った>>180のものでした。
プロファイルで調べところ?+使用と比べると4倍近くは早かった。
?+の遅さは酷いねw

>>197
プログラムってのは違うよなぁ。HTMLと似たようなもんだろ。
俺みたいなミジンコ脳でも、複雑なフィルタでなければ作れる。
自分で少し作れるようになれば便利だよ。

223 :名無しさん@お腹いっぱい。:2007/05/03(木) 09:40:32 ID:???0
早い遅いって何使って測定してるわけ?

224 :名無しさん@お腹いっぱい。:2007/05/03(木) 09:50:37 ID:???0
>>223
テスト→プロファイル→マッチ時間

と大胆予想。


強制大文字とか強制カラーなんですが
Replace"\1mail="○○" だと
例の如く優先順位が先のモノしか置き換えてくれなくて
組み合わせが不可能だった。

既存のmail欄に「半角スペース○○」を追加というのは可能ですか?

225 :名無しさん@お腹いっぱい。:2007/05/03(木) 10:13:11 ID:???0
くそとか氏ねとか特定用語を一定回数発言したID自動的にNGに入れるとかは高度すぎて無理?

226 :名無しさん@お腹いっぱい。:2007/05/03(木) 10:17:59 ID:???0
>>225
高度すぎるというかオミトロンの規格外なんじゃないだろうか。

あくまでもルータとPCの間に割り込んでるだけのプログラムなんだから・・・。

227 :224:2007/05/03(木) 10:31:30 ID:???0
$SET使えば出来そうな気がしてきたのでちょっといじってみるか…。

228 :224:2007/05/03(木) 10:56:51 ID:???0
そもそも強制コマンドって需要あるのか微妙だよなぁ…。
使い道も分からんし。

スマソ、一連の流れは脳内あぼーんしてください

229 :think ◆MM0nnAOCiQ :2007/05/03(木) 16:50:03 ID:???0
>>222
あ、なるほど。遅くなるのは盲点でした。

仰るように、それぞれの属性を決め打ちした方が速くなりましたが、属性の位置が変わるとその度に対応しなければならないのが難点ですね。
現在は以下のように構成されていますが

<chat date="1111111111" mail="sage" name="think" no="11111" thread="1111111111" user_id="111111" vpos="1111">test</chat>

これが以下のように変わると、>180は動作しません。

<chat no="11111" thread="1111111111" date="1111111111" mail="sage" name="think" user_id="111111" vpos="1111">test</chat>

あと、以下の点が気になりました。

1. 速度を重視するなら、Multiは禁止 (テストウインドウには現れなくても、他のフィルタで検索されるマージンは無視し難いです)
2. その表現なら、<chatからname属性、又は、user_id属性までを消費するだけで良い (vpos属性の消費は不要)

でも、結局、どこかで速度を犠牲にしてでも利便性を重視しなければならなくなるんですよね。
自分の中で優先順位を作って、表現を作ると良いと思います。

230 :think ◆MM0nnAOCiQ :2007/05/03(木) 16:50:36 ID:???0
>>229の続き。
で、そこそこ速くて、属性の位置変更にも対応できるフィルタはこんなところかなあと思います。

[Patterns]
Name = "NicoVideo: View ID [$NEST ver] [2007/05/03] test1"
Active = TRUE
URL = "$TYPE(oth)msg[0-9]+.nicovideo.jp/api/(^?)"
Limit = 256
Match = "$NEST(<chat(^(^\s)),"
"(^(^*\suser_id=$AV(\0)))"
"((*\sname=)\#$AV(\1)$SET(#="\1 [\0]")\#|"
"$SET(#= name="[\0]")\#)"
",>)"
Replace = "<chat\@>"

>>180のフィルタ: 0.203000 (ミリ秒)
上記フィルタ:  0.343000 (ミリ秒)
NicoVideo: View ID [2007/05/02]: 0.828000 (ミリ秒)

ドングリの背比べには違いありませんが、>180氏のフィルタのスピードに近づいています、はいw
# これを利用すると無駄に多く消費してしまい、「NicoVideo: ReplaceStr」が効かなくなるのが欠点です。

231 :名無しさん@お腹いっぱい。:2007/05/03(木) 16:58:14 ID:???0
色つきのでかい文字を小さくするフィルタきぼん

232 :名無しさん@お腹いっぱい。:2007/05/03(木) 17:28:08 ID:???0
>>231
Name = "Nico ColorOff"
Active = FALSE
Multi = TRUE
URL = "msg[0-9]+.nicovideo.jp/([0-9]+/|)api/$TYPE(oth)"
Limit = 300
Match = "$LOCK()"
"&(<chat date="[^"]+" )\1(mail="[^"]+" |)"
Replace = "\1mail="small""

これで我慢汁。

233 :think ◆MM0nnAOCiQ :2007/05/03(木) 17:29:39 ID:???0
>>224
> 例の如く優先順位が先のモノしか置き換えてくれなくて組み合わせが不可能だった。
ID表示フィルタあたりですかね?
対応するには、Multiを有効にするか、一つのフィルタにまとめるしかないです。
とりあえず、「ID表示 + mailカスタマイズ」を一つにまとめたフィルタは、手元に動作しているものがあります。

強制コマンドもコマンド追加も技術的には可能です。
強制コマンドでsmallにしたり、date属性値を小さな値にして半透明の文字色にする(時間的に古いコメントは薄くなります)のが面白そうです。
ニコニコ動画は先に指定したコマンドが優先される仕様なので、後者の利用価値は不明ですが…。(ニコニコ動画まとめwikiを更新しました)

コマンド一覧 - ニコニコ動画まとめwiki
http://nicowiki.com/?%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E4%B8%80%E8%A6%A7#r3d63eed

>>225
> 特定用語を一定回数発言したid自動的にngに入れるとかは高度すぎて無理?
「一定回数」というのは、一度のコメントでNGWordを複数回使うのでしょうか?複数のコメントにまたがってNGWordを複数回使うのでしょうか?

234 :名無しさん@お腹いっぱい。:2007/05/03(木) 17:33:42 ID:???0
>>231
>>132とかどうだ

235 :think ◆MM0nnAOCiQ :2007/05/03(木) 17:47:19 ID:???0
>>233の続き。

前者は、NGWord で一定回数NGWordが繰り返される表現を書き、$ADDLST を後述すれば、実現できることを確認しました。

[Patterns]
Name = "NicoVideo: Kill chat-item [NGWord] [2007/05/03] chk-id1"
Active = TRUE
URL = "$TYPE(oth)msg[0-9]+.nicovideo.jp/api/(^?)"
Limit = 512
Match = "$NEST(<chat\s[^>]++user_id=$AV(\9)[^>]+>,"
"*$LST(NGWord-utf8)*"
",</chat>)"

Name = "NicoVideo: Kill chat-item [NGID] [2007/05/03]"
Active = TRUE
URL = "$TYPE(oth)msg[0-9]+.nicovideo.jp/api/(^?)"
Limit = 512
Match = "$NEST(<chat\s[^>]++user_id=$AV($LST(NGID-niconico)),</chat>)"

# ------ $LST(NGWord-utf8) の中身 ------

# テスト×2
(*[%e3][%83][%86][%e3][%82][%b9][%e3][%83][%88])+{2}$ADDLST(NGID-niconico,$WESC(\9))

後者もできないことはないと思います。
ログに「xxxxのIDがyyyyをn回発言した」という記録をcsv形式で保存し、発言が一定回数に達したとき、NGIDに登録し、コメント削除します。
(この時点ではNGIDフィルタはまだ動作していないので、現在のフィルタで削除します。以降はNGIDフィルタに削除させます。)

問題は、リストから削除するマッチングコマンドがProxomitronに存在しないことです。
発言が一定回数に達したとき、「xxxxのIDがyyyyをn回発言した」の該当ログは不要になりますが、削除されず、そのまま残ります。
あまりに多くのログがたまった時には、テキストエディタの正規表現による置換等で不要ログを削除する必要があります。

236 :名無しさん@お腹いっぱい。:2007/05/03(木) 18:20:50 ID:???0
>>232>>234
なぜか効果が無い

237 :名無しさん@お腹いっぱい。:2007/05/03(木) 18:22:59 ID:???0
>>233
レスdクス

>>232のコマンドを改変・複製して
ue/bigred/pink...etc一つ一つのフィルタを作って
使う人が任意にカスタマイズしやすいフィルタを作ろうと思ったんだけど、
(丁度、165の各コマンドキャンセラーみたいな感じ)

>>228でも言った様に使い道が微妙な上に
ややこしくなりそうなので諦めた次第であります。
まだコードの組み方よくわからんし。


shita にbigを追加してshita bigにするのは簡単かも知れんが

shita bigをue smallにしようと思うと
shitaにueをbigにsmallを代入しないといけなくなる。

238 :名無しさん@お腹いっぱい。:2007/05/03(木) 18:25:21 ID:???0
>>236

think ◆MM0nnAOCiQ氏のフィルタは
>>202のヘッダを入れないと動かないと思うが
ヘッダはちゃんと入ってる?

239 :名無しさん@お腹いっぱい。:2007/05/03(木) 18:57:31 ID:???0
藤崎フィルターきぼん トップ画面にあの顔が現れると気持ち悪い

240 :名無しさん@お腹いっぱい。:2007/05/03(木) 19:00:49 ID:???0
>>238
正直すまんかった

241 :think ◆MM0nnAOCiQ :2007/05/03(木) 19:34:09 ID:???0
>>235
> ログに「xxxxのIDがyyyyをn回発言した」という記録をcsv形式で保存し、発言が一定回数に達したとき、NGIDに登録し、コメント削除します。
よく考えたら、リストの該当行を上書きできない点が問題ですね。

(例) 「NGWord = "test", 閾値 = 3回」とする

1. ID:1024がtest発言をした -> $ADDLST で 1024<>test<>1 を登録
2. ID:1024がtest発言をした -> $LSTで 1024<>test<>[0-9]+ を探し、1024<>test<>1 を検出
3. 閾値の「1回」をインクリメント(+1)して、$ADDLST で 1024<>test<>2 を登録
4. ID:1024がtest発言をした -> $LSTで 1024<>test<>[0-9]+ を探し、1024<>test<>1 を検出
5. 閾値の「1回」をインクリメント(+1)して、$ADDLST で 1024<>test<>2 を登録
6. 以下、ループ

# 閾値が2回までなら上の方法で作れそうです。(美しくないアルゴリズムですが)


(例) 「NGWord = "test", 閾値 = 3回」とする

1. ID:1024がtest発言をした -> $ADDLST で 1024<>test をリスト「NGWord_Num1」に登録
2. ID:1024がtest発言をした
-> $SET(Temp=1024<>test)$TST(Temp=($LST(NGWord_Num3)|$LST(NGWord_Num2)|$LST(NGWord_Num1)))
-> リスト「NGWord_Num1」に 1024<>test を検出
3. 閾値の「1回」をインクリメント(+1)して、$ADDLST で 1024<>test をリスト「NGWord_Num2」に登録
($SETと$TSTで条件分岐する必要有り)
4. ID:1024がtest発言をした
-> $SET(Temp=1024<>test)$TST(Temp=($LST(NGWord_Num3)|$LST(NGWord_Num2)|$LST(NGWord_Num1)))
-> リスト「NGWord_Num2」に 1024<>test を検出
5. 閾値の「2回」をインクリメント(+1)して、閾値が3回に達する
6. $ADDLSTでNGIDを登録し、現在のコメントを削除

アルゴリズムだけは完成…。でも、美しくないです。

242 :名無しさん@お腹いっぱい。:2007/05/03(木) 20:03:56 ID:???0
>>241
激しく乙

思うんだが、心無い発言をするヤツってのは
他の動画でもそういう発言してるだろうし
基本的にNGワードで事足りる。

度が過ぎるなら手入力でBlackListで良いのでは無いだろうか?


例えば、今後そのアルゴリズムをコードに起こして
NGワードリストからNG発言を引っ張ってくるとする。


そのワードリストの中に「しね」というワードが登録されていた場合に
「○○するしね〜w」という発言も1回とカウントされ
知らない間にIDをBlackListに追加してるとしたら管理出来ないと思うス。

243 :think ◆MM0nnAOCiQ :2007/05/04(金) 00:06:26 ID:???0
>>242
レスどうもですー。

> 「○○するしね〜w」という発言も1回とカウントされ
それはそうですが、そういう方は NGWord (Proxomitron) を使いこなせていないだけな気がします。
JaneにもNGWordで不足だったら、NGExがあるわけで、Proxomitronにはメタキャラクタという強力な文法があります。

個人的には、>235が程良くバランスが取れていると考えています。
JaneシリーズのNGExにある [NGIDへの自動追加] と同じ仕様ですから、わかりやすいと思います。

でも、ReplaceStr と NGWord (どちらかといえば、NGEx?) が強力すぎて、[NGIDへの自動追加] の出番がなさそうという考えには同意です。
NGWordに以下の表現を入れると、かなり綺麗に掃除してくれるんで、NGIDが要らない気もしてきました。
(せっかく作ったので、公開はしますけど)

# 「あ〜ん」のいずれか一文字を3回繰り返し (※濁音,小文字を含む。「ば」「ぱ」「ぁ」を含むということである。)
([%e3]([%81][%81-%bf]|[%82][%80-%93]))\0$TST(\0)$TST(\0)

# 「ア〜ン」のいずれか一文字を3回繰り返し (※濁音,小文字を含む。「バ」「パ」「ァ」を含むということである。)
([%e3]([%82][%a1-%bf]|[%83][%80-%af%b2-%b6]))\0$TST(\0)$TST(\0)

# 全角英字 (a-zA-Z) のいずれか一文字を3回繰り返し (※「www」や「おkkk」にマッチ)
#([%ef]([%bd][%81-%9a]|[%bc][%a1-%ba]))\0$TST(\0)$TST(\0)

# 全角英字 (a-vx-zA-Z) のいずれか一文字を3回繰り返し (※「www」には適用しない)
([%ef]([%bd][%81-%96%98-%9a]|[%bc][%a1-%ba]))\0$TST(\0)$TST(\0)

244 :think ◆MM0nnAOCiQ :2007/05/04(金) 04:12:49 ID:???0
>>220
> 同一内容連投まで緩めてもいいんじゃない?とは思う
一応、作ったんですが…

[Patterns]
Name = "NicoVideo: Kill chat-item [repeated post of same comment] [2007/05/04] test1"
Active = TRUE
URL = "$TYPE(oth)msg[0-9]+.nicovideo.jp/api/(^?)"
Limit = 2048
Match = "$NEST(<chat\s[^>]+>,\0,</chat>)"
"( $NEST(<chat\s[^>]+>,$TST(\0),</chat>))++"
"(^(^"
" $NEST(<chat\s[^>]+>,$TST(\0),</chat>)"
"(^ $NEST(<chat\s[^>]+>,$TST(\0),</chat>))"
"))"

ニコニコ動画は同一内容連投を許可していないようでした。orz

245 :think ◆MM0nnAOCiQ :2007/05/04(金) 06:30:44 ID:???0
ニコニコ動画フィルタ集を更新しました。
http://vird2002.s8.xrea.com/download/#filter_niconico

コマンド変更はリスト管理できるようになっています。
>224氏の提案された強制コマンドも条件付き(コマンドが指定されたコメントに限る)で可能です。
コマンド追加は未対応。
# コマンドがないコメントにも、フィルタが働くようにすれば、全ての要望を満たせそうです。
# 要望があれば、検討します。

コマンド置換/削除の全てをリスト管理できるのが最大の利点です。
コマンドが複数ある場合も、連続して置換/削除を行うので、例えば、「shitaをueに置換」と「bigをsmallに置換」を一度に行えます。(>237)

246 :think ◆MM0nnAOCiQ :2007/05/04(金) 06:40:13 ID:???0
一つ書き忘れたので、追記。

NGWordフィルタに、Janeの [NGIDへの自動追加] に相当する機能を取り入れました。
>242氏の指摘された懸念もあるので、よく考えて使ってください。
基本的に、「これだけは我慢できない」という言葉に対して使えばいいと思います。

247 :名無しさん@お腹いっぱい。:2007/05/04(金) 07:44:38 ID:???0
一往叩き台として、必要な人は使ってみて下さい。大緑→小白

Name = "Nico big green-small"
Active = FALSE
Multi = TRUE
URL = "msg[0-9]+.nicovideo.jp/*([0-9]/|)api/$TYPE(oth)"
Bounds = "<chat[^<]+</chat>"
Limit = 300
Match = "(*mail=\"*)\#(big green$SET(\#=small)|green big$SET(\#=small))(([^\"]+|)\"*)\#"
Replace = "\@"

248 :名無しさん@お腹いっぱい。:2007/05/04(金) 09:07:25 ID:???0
>>245
うほ
超乙乙

249 :名無しさん@お腹いっぱい。:2007/05/04(金) 09:49:32 ID:???0
不慣れだからこれで正しいかわからんが
こんな感じで投稿内容の最初の方が同じ連続投稿を消せないか?
>>219流用

[Patterns]
Name = "NicoVideo: Kill chat-item+ [repeated post of same comment]"
Active = FALSE
URL = "msg[0-9]+.nicovideo.jp/$TYPE(oth)"
Limit = 2048
Match = "$NEST(<chat\s[^>]++user_id=$AV(\0)([^>]+|)>([^<]+{10})\1,</chat>)"
"($NEST(<chat\s[^>]++user_id=$AV($TST(\0))([^>]+|)>$TST(\1),</chat>))+{1,*}"

250 :名無しさん@お腹いっぱい。:2007/05/04(金) 10:37:29 ID:???0
連続投稿規制って・・・
常に人がいる動画ばっかりじゃないんだよ・・・?
そこらへん何でわからないのかな・・・掲示板とごっちゃにしてるのかも

251 :名無しさん@お腹いっぱい。:2007/05/04(金) 11:17:28 ID:???0
誰も連投そのものをターゲットにしてねえよ

252 :名無しさん@お腹いっぱい。:2007/05/04(金) 11:33:37 ID:???0
連投や冗長コメントをフィルタすると、
コメント職人もつぶしちゃうことがあるだろうから、使いどころが難しそう。

253 :名無しさん@お腹いっぱい。:2007/05/04(金) 11:51:14 ID:???0
うざいうざい騒いでる奴の中には
「職人気取りがうざい」ってコメントけっこう見るよ
そして叩かれた職人がスルーできずに点火炎上ってパターン

254 :名無しさん@お腹いっぱい。:2007/05/04(金) 11:55:44 ID:???0
両人とも消せばいい

255 :名無しさん@お腹いっぱい。:2007/05/04(金) 12:58:47 ID:???0
>>250
フィルタ使う使わないは個人の判断だろ?

256 :think ◆MM0nnAOCiQ :2007/05/04(金) 16:01:00 ID:???0
連続投稿について、ちょっと誤解があるかもしれないと思いました。
連続投稿にはいくつか種類があります。

1. 同じIDの人が一定時間待たないと投稿できないシステム
2. 直前に投稿されたコメントと同じ内容のコメントを投稿 (時間差による連続投稿)
3. 動画のある位置にあるコメントの後に同じ内容のコメントを投稿 (動画に流れるコメント上での時間差連続投稿)

1. はサーバ側で処理します。Proxomitronの立ち入る隙はありません。

>249氏の紹介されたフィルタは、2. を削除します。
でも、ニコニコ動画は 1. を規制しているのでフィルタを使うまでもなく、連続投稿できません。

3. はクイズ形式の動画でよく見られる現象です。
皆が同じ答えを言うので、ある一瞬は同じコメントが多く並びます。

ニコニコ動画(γ)‐注目のタグ クイズ
http://www.nicovideo.jp/tag/%E3%82%AF%E3%82%A4%E3%82%BA/1/r/d/

私が削除したいと考えているのは 3. ですが、上手く対応できずにいます。
対応するには、投稿時間順に並んでいるデータを動画位置順にソートし直す必要があるのですが…。

257 :名無しさん@お腹いっぱい。:2007/05/04(金) 16:42:31 ID:???0
プニルだがID表示されねぇ\(^o^)/アキラメタ

258 :名無しさん@お腹いっぱい。:2007/05/04(金) 16:43:14 ID:???0
>>257
お前は俺か

259 :名無しさん@お腹いっぱい。:2007/05/04(金) 20:54:55 ID:???0
>>257-258
これはヒドイ自演を見た。
こんな過疎スレでageもせずに30秒以内にレスなど付くわけがないだろ・・・

260 :119 ◆KARENvz9aM :2007/05/04(金) 21:07:19 ID:qtPZ6d850
設定済みオミトロンその3
ttp://uproda11.2ch-library.com/src/114134.lzh.shtml

DLキー:niconico

追加要素:
・メッセ鯖のURLを統一

・画面の拡大縮小フィルタ搭載
>>178 のフィルタ使用したので178氏に感謝汁

・コメント強制変換フィルタ搭載
>>245 のフィルタを使用したのでthink ◆MM0nnAOCiQ氏に感謝汁

・一部フィルタの名前を変更

・説明書の内容を更新。

・NGワードリスト公開

・F&Q作成(投げやりだが・・・)

汎用性の高いフィルタは完成しきった感があるので
もう うpする事は無いかも知れん。

261 :119 ◆KARENvz9aM :2007/05/04(金) 21:09:29 ID:???0
>>257->>258
>>260のF&Q見て設定してみ

あ、あんたみたいなヤツ、
め、目障りだから教えてあげるんだからねっ!

262 :名無しさん@お腹いっぱい。:2007/05/04(金) 21:42:18 ID:???0
毎回思うんだけどなんで本体も同梱されてるん?

263 :119 ◆KARENvz9aM :2007/05/04(金) 22:13:04 ID:???0
>>262
新参の為

元々、
「どこでダウソするんですか><」
「設定出来ません><」

というレスが目障りでうpしようと思ったんだからっ!

264 :名無しさん@お腹いっぱい。:2007/05/04(金) 22:52:37 ID:???0
なんだこのステレオタイプのツンデレ
思わず噴いたwwww

265 :249:2007/05/04(金) 22:58:20 ID:???0
>>256
連投というよりもコピペ荒らしと弾幕の表示抑制が目的
完全一致は連投出来ないけど本文の後ろに何か文字を入れれば投稿可能なのを更に狙う感じ
本文の頭の半角、全角スペースを無視する設定も組み込めば更に効果が上がるかも
コメント職人系統も壊滅するけど自分はueとshitaを強制解除してるからあんまり関係ないし

266 :名無しさん@お腹いっぱい。:2007/05/04(金) 23:11:04 ID:???0
こっちの方がオミトロンの本スレより盛り上がってるな
フィルタ職人も結構いるし

267 :名無しさん@お腹いっぱい。:2007/05/04(金) 23:25:13 ID:???0
これ見た後でもコメント職人つぶすって言えるのなら、
オレはなにも言わない。

http://www.nicovideo.jp/watch/sm19332

268 :名無しさん@お腹いっぱい。:2007/05/04(金) 23:30:54 ID:qtPZ6d850
>>267
URL見ただけで何の動画か分かるくらい見てるわ。

269 :名無しさん@お腹いっぱい。:2007/05/04(金) 23:31:25 ID:???0
sage忘れスマソ

270 :名無しさん@お腹いっぱい。:2007/05/04(金) 23:36:53 ID:???0
楽しみ方は人それぞれ
強要するのは野暮ってものだ

271 :名無しさん@お腹いっぱい。:2007/05/04(金) 23:40:51 ID:???0
表示されたら全部ドコ☆ドコで吹いた

272 :名無しさん@お腹いっぱい。:2007/05/04(金) 23:47:20 ID:???0
まぁ、フィルタ自体が個人利用目的だしな。
フィルタを作った人が折角だしと書き込んで

それを必要だと思う人が感謝しながら使う
ってのがこのスレの目的だろ?

フィルタに対する文句が出る時点でおかしいと思うんだが。

273 :名無しさん@お腹いっぱい。:2007/05/04(金) 23:56:29 ID:???0
コメント職人?
何の仕事っすか?wwwww


274 :think ◆MM0nnAOCiQ :2007/05/05(土) 00:08:54 ID:???0
Proxomitronでコメントを消している人は、Proxomitronを使わなくてもそういうコメントを見ないと思うんです。
Proxomitronで消すか、自分で読み飛ばすかの違いなだけだと思います。

あと、勘違いされているといけないので説明しますが、Proxomitronがコメントを消すのは「Proxomitronを使用しているユーザー」だけであって、他のユーザーの表示にまでは介入しません。
Proxomironユーザーがいても、他の多くのユーザーは通常通りコメントを閲覧できます。

>>260
お疲れ様ですー。

>>265
ちょっとイメージが沸かないので、具体例を挙げてもらえないでしょうか?

275 :名無しさん@お腹いっぱい。:2007/05/05(土) 12:48:12 ID:???0
http://www.nicovideo.jp/watch/sm19332
URLのwatchの後ろに「_naisho」と自動的に挿入される
フィルタとか作成可能なのだろうか?

動画を開いたら↓の様に。
http://www.nicovideo.jp/watch_naisho/sm19332

276 :名無しさん@お腹いっぱい。:2007/05/05(土) 12:51:53 ID:???0
ああ・・・ついでに書こうと思ったら投稿しちゃったorz

名前を自動削除して名前欄を空欄にするフィルタが
どこかで公開されてた気がするんだけど
どこか分かる人居ませんか。

277 :名無しさん@お腹いっぱい。:2007/05/05(土) 13:00:46 ID:???0
コメント弄る系は何の問題も無いだろ。
ニコニコにとって害悪なのは収入源である広告消しなんだから。

278 :名無しさん@お腹いっぱい。:2007/05/05(土) 13:02:00 ID:???0
>>275
Name = "Nico naisho"
Active = TRUE
URL = "www.nicovideo.jp"
Limit = 300
Match = "<a href="watch/\1">"
Replace = "<a href="watch_naisho/\1">"

こんな感じか?

319 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)