2008-01-05
■ [ニコニコ][その他] 『「またニコニコ動画見てる」とTwitterに投稿するリンクを作成するGreasemonkeyスクリプト』をカスタマイズする

twitterでちょっと話題になってたので自分用含めてまとめ。
の「また見てる」と「またニコニコ動画見てる」を好きな文字列に変更する方法について。
作者であるぷーる様、及び
のエンコード/デコードツール作者であるgroundworker.com様に感謝を。
(1/7追記)「投稿用リンクを増やす」を追記。
変更対象文字列について
Firefoxの「ツール」→「Greasemonkey」→「ユーザスクリプトの管理」から「mata nicovideo」を「編集」で開くと
\u307e\u305f\u898b\u3066\u308b
のようなよく判らない文字列がありますが、これはUNICODEでエンコードされた文字列です*1。
にある
おまけ。sourceに入力して encode ボタンを押すと 3つの関数それぞれでどのように変換されるか分かるツール。
の「source」に好きな文字列を入れて「encode」ボタンを押した後に得られる「escape()」の内容をコピーし「%」を「\」に置換したものを使えば、文字列の置き換えができます。
ちなみにエンコードされた文字列のアルファベットは大文字でも小文字でも構いません。
(1/7追記)
id:poolmmipさん(作者の方?ありがとうございます)から
一旦インストールしたGMスクリプトを編集する場合、そのファイルをUTF-8で保存すればUNICODEエスケープしないでそのまま日本語書いちゃってOKですよ。たぶん。
とブックマークコメントを頂いたので試したところ、仰る通りUTF-8で保存すればOKでした。と言うわけでテキストエディタ上でベタに日本語打ってUTF-8で保存すればOKと*2。ありがとうございます。
ニコニコ動画のwatchページに表示される「また見てる」を変更する
matanicovideo.user.jsの13行目
a.appendChild(document.createTextNode('[\u307e\u305f\u898b\u3066\u308b]'));
の
\u307e\u305f\u898b\u3066\u308b
を変更します。脇の[]は「また見てる」の角括弧で、これも好きなものに置き換えられます。
twitterに投稿される「またニコニコ動画見てる」を変更する
matanicovideo.user.jsの24行目
'\u307e\u305f\u30cb\u30b3\u30cb\u30b3\u52d5\u753b\u898b\u3066\u308b : ' +
の
\u307e\u305f\u30cb\u30b3\u30cb\u30b3\u52d5\u753b\u898b\u3066\u308b
を変更します。
あと1個あるのは?
matanicovideo.user.jsの27行目
onload: function(res){ GM_log('\u6295\u7a3f\u3057\u307e\u3057\u305f\u3002'); },
は、デバッグ用のメッセージで「投稿しました。」と言う文字列がJavaScriptコンソールに出力されるようです。
……JavaScriptコンソールってどうやって出すの?(ド素人
(1/7)投稿用リンクを増やす
元処理の全体を関数にしてリンクを増やす方向に持っていってみる。変更点は以下。変更する前に元ファイルのバックアップは取っておく事を強く推奨。
↓こんな風に表示されます。ちなみにクリックしたリンクしか消えませんのであしからず。

9行目。
function MakeMatamiteru(sLink, sMessage){
13行目。
a.appendChild(document.createTextNode(sLink));
23~25行目。26行目を1行にまとめた。
data: 'status=' + encodeURIComponent( sMessage + ' : ' + subject + ' ' + url ),
33行目(?)
}
34行目以降に以下を追記。内容は適当に変えてください。
(function(){
// MakeMatamiteru('[]', '');
MakeMatamiteru('[また見てる]', 'またニコニコ動画見てる');
MakeMatamiteru('[また見てれぅ]', 'またニゴニゴ動画見てれぅ');
MakeMatamiteru('[みっきみき]', 'またみっきみきにされてんよ');
MakeMatamiteru('[イ゛ェアアアア]', 'またニコニコ動画イ゛ェアアアア');
})();