ScriptAssassinの機能の一つ「スレタイplus」をV2C単体で実現するためのアドオン的スクリプトです。
JaneView用スクリプト(thretaiplus.js)は以前からありましたがV2C用は無いようなので作ってみました。
V2Cスクリプトなので別プロセスの常駐やproxyの設定なども必要ありません。
とりあえず動けばいいという人向けなので、動作内容が不安な方はソースを覗くなりしてください。
R2014072901(zip)(最新版)
MD5: 13c5e6b761ab991e2480b4fa14bab796
トラブル回避のための修正が含まれています。R2014072703以前のものを使用している場合はなるべく差し換えてください。
R2014072703(zip)
MD5: 20b45c56c45a5363f300c2ed04dd8f3d
致命的な不具合の修正が含まれています。R2014072701及びR2014072702を使用している場合は即座に差し替えてください。
R2014072702(zip)
MD5: b40c2dbb6aa9f82eef3252051a527f94
R2014072701(zip)
MD5: d44c7755d5ba408e354e057e2cbefd35
R2013123101(zip)
MD5: 80a0c2b1239551a6c9dba3a732b11b12
不具合の修正が含まれています。R2013092302以前のものを使用している方はなるべく更新するようにしてください。
R2013092302(zip)
MD5: 81f8d418f1140b33d96e380b3cd01af8
R2013092301(zip)(初版)
MD5: f22aeafbffd7faa095180d89842e3247
なるべく最新版を使用してください。
V2C 2.11.4[R20131210], java.runtime.version: 1.7.0_15-b03, Windows8.1 64bitで動作を確認しています。MacやLinuxでも多分動作しますが保証はしません。
このスクリプトはV2Cのsystemスクリプトsubject.js(にスレタイplusっぽい機能をつけたもの)なので、通常のスクリプトとは導入手順が若干異なります。
詳細はV2Cwiki - スクリプト System系スクリプトの設定方法(外部)を参照してください。
FrwS
"に設定する。ScriptAssassinの機能のうちNGID共有機能は含まれていないため、この機能を利用する場合はV2Cwiki - スクリプト一覧 kenmoNG.js(外部)を導入してください。
このスクリプトにより、ユーザが用意したリストに基づいて、BEID・記者名・名前・IDによってスレタイの先頭に文字列を追加したりスレを非表示にしたりすることができます。対象となるリストはsubject.jsとは別のファイルから読み込みます。このファイルにはScriptAssassin互換のものを使用することができます。
スレタイplusをとりあえず使いたい!という方は下記4つのファイルのうち必要なものをsubject.jsと同じフォルダ(V2C保存用フォルダ内の"script"フォルダの中の"system"フォルダ)に入れてください。
ScriptAssassin互換リストファイル内の記述例:
以下のようにNGしたいBEIDを改行区切りで羅列してください
987234
654321
543789
456123
これらのファイル名はsubject.js本体を編集することで自由に変更できます。
また、subject.jsを編集することで使用するリストの数を増やしたり、リストごとに設定(付加する文字列・比較対象など)を変更することができます(後述)。
subject.js内の86行目を以下のように書き換えてください(赤字部分を変更するだけ)
{filename:"myngbe.txt", str_add:"【NGBE】", file_encode:"UTF-8",flag:0,th_shift:2},//NGBE
↓↓↓書き換え↓↓↓
{filename:"myngbe.txt", str_add:"【NGBE】", file_encode:"UTF-8",flag:0,th_shift:3},//NGBE
書き換え後にsubject.jsを再読み込みすると設定が反映されます
myngbe.txt等のリストファイルを拡張することで付加する文字列を比較対象ごと(BEIDならBEIDごと)に設定することができます。
文字コードはfile_encode
で設定されたもの(後述、デフォルトではUTF-8)に設定してください。
リストファイルに下記のように"<>
"区切りで文字列を記述することで、デフォルトの付加文字列(後述、str_add
で設定できます)の代わりに、各行の"<>
"以降の文字列が付加されるようになります。
例: BEIDごとに付加する文字列を設定する場合
987234<>【NG推奨】
654321<>
543789
456123<>【要注意】
デフォルトの付加文字列が"【NGBE】
"に設定された場合、スレタイは以下のようになります(順不同)。ただし、透明非表示(後述、th_shift
により設定できます)に設定された場合、これらのスレッドは表示されません。
補足: スレタイに付加される文字列はハイライトを指定することにより以下のように分かり易く着色することもできます。設定はV2Cのメニューから「設定」→「スレタイ非表示・キーワード」より行います。
! | FC | No. | タイトル | スピード | … |
1 | 【NG推奨】スレタイ1[BE:987234] | 1234.5 | |||
2 | 【NGBE】スレタイ2[BE:654321 なまえ] | 987.6 | |||
3 | 【NGBE】スレタイ3[BE:543789 NAME] | 123.4 | |||
4 | 【要注意】スレタイ4[BE:456123 name] | 543.2 | |||
… | … |
デフォルトではスレタイplusが利用可能な全ての板でこの機能が有効になっています。対象板を限定したい場合はsubject.js内の無効にしたい行(43行目以降あたり)をコメントアウトしてください。
例: ガイドライン板のスレタイplusを無効にする場合
switch(bd.key+""){//無効にしたい板はコメントアウト
case 'eqplus'://臨時地震+
case 'be'://面白ネタnews
case 'nandemo'://なんでも質問
case 'argue'://朝生
case 'bizplus'://ビジネスnews+
case 'newsplus'://ニュース速報+
case 'wildplus'://ニュース二軍+
case 'moeplus'://萌えニュース+
case 'mnewsplus'://芸スポ速報+
case 'femnewsplus'://ほのぼのnews+
case 'dqnplus'://痛いニュース+
case 'scienceplus'://科学ニュース+
case 'owabiplus'://お詫び+
case 'liveplus'://ニュース実況+
case 'liveplus'://ニュース実況+
case 'news'://ニュース速報
case 'news4plus'://東アジアnews+
case 'news5plus'://ニュース国際+
case 'qa'://初心者の質問
// case 'gline'://ガイドライン
case 'offevent'://突発OFF
case 'chiri'://地理お国自慢
case 'ticketplus'://Walker+
case 'ex'://カップル
case 'news4viptasu'://ニュー速VIP+
case 'poverty'://ニュー速(嫌儲)
case 'bbynews'://速報headline<-本家で扱っていない
case 'phs'://携帯・PHS<-本家で扱っていない
break;
default :
return ss;
}
subject.jsを編集することで、リストファイルを新たに追加したり、リストごとの各種設定を変更することができます。透明非表示の設定などはここで行います。
リストごとの設定項目(ar_replace
):
filename
… リストファイルの名前。systemフォルダ以下に指定のファイルが存在する場合は他の設定項目に従って処理が実行される。指定のファイルが存在しない場合、そのリストは無視される。str_add
… スレタイ先頭に付加する文字列。空にすることで文字列を付加しないようにすることもできる。リストファイルの拡張により付加する文字列が指定されている場合はそちらが優先される。透明非表示に設定されている場合は無視される。file_encode
… リストファイルの文字エンコード。UTF-8を用いることが望ましい。flag
… 比較の対象。リストファイルに記述された内容。(0:BEID,1:記者,2:名前,3:ID),
0
… BEID(BE基礎番号) デフォルトでmyngbe.txtとmyokbe.txtに設定されている1
… 記者 デフォルトでmyngkisya.txtとmyokkisya.txtに設定されている2
… 名前(レスの名前欄)3
… レスID >>1のレスIDth_shift
… 該当スレの表示設定。1つのスレが複数のリストの条件を満たすときは数字の大きい表示設定が優先される。
0
… 通常表示 2ch.netから取得したsubject.txtに記述された位置(通常順)に表示1
… 上げる スレ番号昇順(V2Cデフォルト)でソートする場合にスレ番号を若くすることで一覧上方に表示する2
… 下げる スレ番号昇順(V2Cデフォルト)でソートする場合にスレ番号を大きくすることで一覧下方に表示する3
… 透明非表示 V2Cに渡すsubjectに該当スレを記載しないことで透明非表示とする V2Cは該当スレを認識しないため、他のスレに該当スレのURLが貼られてもそのスレタイが表示できない問題がある(ScriptAssassinと同様)abone
… リストに該当するスレッドのタイトルを置き換えるための設定。
0
… 通常表示 スレタイをそのまま流用1
… スレタイ本文部分をabone_text
に置換する例1: myngbe.txt又はmyngkisya.txtのリストに該当するスレを非表示に、myokbe.txt又はmyokkisya.txtのリストに該当するスレを通常順で表示する場合
var ar_replace=[
{filename:"myngbe.txt", str_add:"【NGBE】", file_encode:"UTF-8",flag:0,th_shift:3,abone:0},//NGBE
{filename:"myokbe.txt", str_add:" ⇒ ", file_encode:"UTF-8",flag:0,th_shift:0,abone:0},//注目BE
{filename:"myngkisya.txt",str_add:"【NG記者】",file_encode:"UTF-8",flag:1,th_shift:3,abone:0},//NG記者
{filename:"myokkisya.txt",str_add:" ⇒ ", file_encode:"UTF-8",flag:1,th_shift:0,abone:0} //注目記者
];
例2: IDリストファイルを新たに作成する場合の記述方法
oAdXg+Oj0
nneI77NF0
4RgdcRSGP
BI+3HW3b0
例3: IDリストファイル"myngid.txt"及びBEリストファイル"mygoodbe.txt"を追加する場合の記述例
flag:3
var ar_replace=[
{filename:"myngbe.txt", str_add:"【NGBE】", file_encode:"UTF-8",flag:0,th_shift:2},//NGBE
{filename:"myokbe.txt", str_add:" ⇒ ", file_encode:"UTF-8",flag:0,th_shift:1},//注目BE
{filename:"myngkisya.txt",str_add:"【NG記者】",file_encode:"UTF-8",flag:1,th_shift:2},//NG記者
{filename:"myokkisya.txt",str_add:" ⇒ ", file_encode:"UTF-8",flag:1,th_shift:1},//注目記者
{filename:"myngid.txt", str_add:"【NGID】", file_encode:"UTF-8",flag:3,th_shift:3},
{filename:"mygoodbe.txt", str_add:"☆", file_encode:"UTF-8",flag:0,th_shift:1}
];
「BE情報を含まない」等の予め設定された状態のスレの処理方法を設定することができます。V2Cに登録されたNGID・NGBEとの連動に関する設定もここから行います。
リストの種類(ar_replace_sys
):
hidden
… BE情報がない(クローラがBE情報を取得できなかった)スレ。スレッド924を含む。嫌儲板のみ有効。BE隠しかも?noinfo
… 情報未取得(クローラが情報未取得)のスレ。クローラの更新間隔(約5~10分)の影響で、立って間もないスレに関する情報が得られない場合があるため、そのスレの表示に関する設定。該当するスレを表示する場合、次回以降の一覧更新でスレ情報が取得できるまでの間は>>1のBEや記者情報はスレタイに付加されない。v2c_ngid
… V2Cに登録されたNGIDが立てたスレ。v2c_ngbe
… V2Cに登録されたNGBEが立てたスレ。V2Cのスレ表示欄上のBE右クリックメニュー内の「非表示のBeに追加」から登録されたBEに対して適用される。このリストを用いることでNGBEの管理をV2Cと共有できる。設定項目 "use_label
" と "label_format
" はこのリストでのみ有効。v2c_ngbe_j
… V2C保存用フォルダ内のNGBE.txt(Jane互換)に登録されたBEが立てたスレ。newcomer
… 新参BEが立てたスレ。設定項目 "threshold
" はこのリストでのみ有効。リストごとの設定項目:
str_add
… スレタイ先頭に付加する文字列。空にすることで文字列を付加しないようにすることもできる。透明非表示に設定されている場合は無視される。th_shift
… 該当スレの表示設定。1つのスレが複数のリストの条件を満たすときは数字の大きい表示設定が優先される。
0
… 通常表示 2ch.netから取得したsubject.txtに記述された位置(通常順)に表示1
… 上げる スレ番号昇順(V2Cデフォルト)でソートする場合にスレ番号を若くすることで一覧上方に表示する2
… 下げる スレ番号昇順(V2Cデフォルト)でソートする場合にスレ番号を大きくすることで一覧下方に表示する3
… 透明非表示 V2Cに渡すsubjectに該当スレを記載しないことで透明非表示とする V2Cは該当スレを認識しないため、他のスレに該当スレのURLが貼られてもそのスレタイが表示できない問題がある(ScriptAssassinと同様)use_label
(v2c_ngbe
でのみ有効) … V2Cに設定されたNG用ラベルをスレタイ先頭に付加する文字列として使用するかどうかの設定。
true
… 使用する ただしラベルがBEIDそのままの場合や空白の場合はstr_add
が使用されるfalse
… 使用しない label_format
(後述)に関わらずstr_add
を使用するlabel_format
(v2c_ngbe
でのみ有効) … use_label
がtrue
に設定された場合にスレタイ先頭に付加する文字列のフォーマット。"%label%
"はV2Cに設定された各NG用ラベルに置換される。threshold
(newcomer
でのみ有効) … 新参表示するBEIDの閾値。BEIDがthreshold
以上になると新参BEとして処理される。初期値278770
は本家ScriptAssassinと同一。例: 「情報未取得のスレ」及び「V2Cに登録されたNGBEが立てたスレ」を透明非表示にする場合
var ar_replace_sys={
//BE情報のないスレ(クローラがBE情報を取得できなかったスレ,スレッド924含む) 嫌儲のみ有効,BE隠しかも?
hidden: {str_add:"【notbe?*】",th_shift:2},
//情報未取得(クローラが情報未取得)のスレ
noinfo: {str_add:"【noinfo*】",th_shift:3},
//V2Cに登録されたNGIDが立てたスレ
v2c_ngid: {str_add:"【NGID*】",th_shift:2},
//V2Cに登録されたNGBEが立てたスレ
v2c_ngbe: {str_add:"【NGBE*】",th_shift:3,use_label:true,label_format:'【%label%】'},
//V2C保存用フォルダ内のNGBE.txt(Jane互換)
v2c_ngbe_j: {str_add:"【NGBE*】",th_shift:2},
//新参BE threshold==0で無視
newcomer: {str_add:"[新参BE]",th_shift:0,threshold:278770}
};
fleshnesscheck
… スレ情報の鮮度判定を行うかどうかの設定。
true
… 行う 前回取得からfleshness
(後述)で指定した時間が経過していない場合は前回取得したスレ情報をキャッシュから再利用する 前回取得時にLast-Modifiedが取得できた場合はその時間を基準に現在までの経過時間を算出する 通信量を抑えて情報配信サーバの負荷を軽減することができるfalse
… 行わない fleshness
(後述)の値は無視してスレ情報を毎回取得する 通信量は増えるができるだけスレ情報を早く得たい場合に有用fleshness
… 鮮度判定の基準となる経過時間(ミリ秒)。1秒=1000ミリ秒。cache_encode
… キャッシュの文字コード。キャッシュファイルは、fleshnesscheck
がtrue
のとき情報取得ごとにsystemフォルダに生成される。特に理由が無ければUTF-8
のままでよい。スレッド情報配信サーバが新設・移転・消滅した場合や優先順位を変更したい場合はここを編集する。普通の人は弄らなくてもおk。
リストごとの設定項目(ar_server
):
name
… 配信サーバ識別のための名前。キャッシュファイル名に利用するため、ファイル名に使用できない文字は使用できない。url
… 配信サーバのURL。type
… スレッド情報の配信形式・書式。
0
… 嫌儲レス検索(anosono)で配信されている形式のjson。1
… ScriptAssassin本家サイトで配信されているタブ区切り形式のtxt。2
… BEストーカーで配信されているsubject.txt形式のtxt。配信される情報は「普通のsubject.txtに含まれる情報」+「BEID」のみ。ar_bd
… 有効にする板の板キーの配列。
例: 優先順位を「hacca
」→「anosono
」→「sass1
」とし、「sass2
」と「kiki
」を無効にする場合
var ar_server=[//type 0:anosono(json), 1:normal(txt), 2:subject(txt)
{name:"hacca",url:"http://ame.hacca.jp/sasss/?i="+bd.key,type:1,ar_bd:ar_hacca},//薄荷飴 6分
{name:"anosono",url:"http://anosono.dyndns.tv/2ch/cache/"+bd.key+".json",type:0,ar_bd:["poverty"]},//5分
{name:"sass1",url:"http://sass.m35.coreserver.jp/thdat/"+bd.key+".txt",type:1,ar_bd:ar_sass},//本家1
// {name:"sass2",url:"http://sass.m35.coreserver.jp/thdatU/"+bd.key+".txt",type:1,ar_bd:ar_sass},//本家2
// {name:"kiki",url:"http://kiki.mods.jp/be/"+bd.key+"_subject.txt",type:2,ar_bd:["poverty","news"]}//ストーカー 10分
];
Frw
"が、また、Content-Typeが"text/"で始まっていないもの(json)を取得することがあるためパーミッション"S
"が必要となります。
要望やバグがあったら報告お願いします。
V2C本スレV2C掲示板のスクリプトスレに報告してくれると対応しやすいです。
管理人Twitter: @su_te_ak/◆mmft4k9vgtL6
要望等は本スレ又はTwitterへ
Home -> BE関連 -> [スレタイplus for V2C]