■
はてな界ではプラグインといえばグリモン、スクリプト書くっていったらグリモン・・・とグリモンだらけですが(←偏見)、何も拡張すべきものはブラウザだけじゃぁないぞ。
・・・というわけで表題のようなものを探してきました。
これはなに?
メッセンジャープラスについている機能で、MSN Messengerに関連したスクリプトが書けます!名前欄を変えたり、誰かがサインインしたっていうイベントを取得したり、チャットウィンドウの制御まで一通りのことはできるよ。
良い点
- ドキュメントが(英語の割には)すっきりしてて分かりやすかった!(主観だけど何気に重要)
- メッセンジャーってブラウザ並に重宝してるソフトって人も多いんじゃないかな><だから使いこなせれば凄く便利かもね。あと作ったものを友達に披露しやすいかも!
悪い点
動かしてみる
かんきょーこーちく
まずMessenger Plus! Liveが入っていない場合はインストールしましょう。
ここにあるよ↓
http://www.msgpluslive.jp/download/
ちなみによく一緒に「広告プログラム」もインストールしちゃう人がいるから、気をつけてね。「次へ」を連打しまくらないように!
あ、、、勿論メッセンジャーも必須だよ。
ちゃんとインストールが終わったら、メニューバーに「Plus!」の文字があるよ!
これで構築は終わり!
ドキュメントを揃えよう
ココにあるよ。
http://www.msgpluslive.jp/scripts/view/13-Official-Scripting-Documentation/
実際に書いてみる
メッセンジャーのメニューバーからPlus!→設定メニュー→一般的な設定(タブ)→スクリプト(タブ)→新規作成
これで、スクリプトが書けるよ!
とりあえずHello World!
function OnEvent_Initialize(MessengerStart)
{
Debug.Trace("Hello World!");
}
保存すると自動的にスクリプトを読み込みなおしてくれるよ。
さっきのスクリプト(タブ)の「デバックオプションを有効にする」をチェックしておこう。
そうすると、メニューバー→Plus!→スクリプトデバッグ情報の表示 で、Hello World!が表示されてるよ。
サンプルプログラム
ニワニュースリーダー
ニコニコ動画の動画の上に流れてるニュースを15秒おきに自分のパーソナルメッセージに表示させることができるよ!
function OnEvent_Initialize(MessengerStart)
{
loadNiwaNews();
MsgPlus.AddTimer("niwa",15000);
}function OnEvent_Uninitialize(MessengerExit)
{
MsgPlus.CancelTimer("niwa");
}function OnEvent_Timer(TimerId) {
if( TimerId == "niwa") {
loadNiwaNews();
MsgPlus.AddTimer("niwa",15000);
}
}
function loadNiwaNews(){
httpObj = new ActiveXObject("Microsoft.XMLHTTP");
httpObj.onreadystatechange = statusCheck;
httpObj.open("GET","http://www.nicovideo.jp/api/getmarquee?mqver=0",true);
httpObj.send(null);
}
function statusCheck(){
if ( (httpObj.readyState == 4) && (httpObj.status == 200) ){
displayData();
}
}
function displayData(){
var xmlSrc = httpObj.responseXML;
var elements = xmlSrc.getElementsByTagName("text");
var link = xmlSrc.getElementsByTagName("link");
var elementLen = elements.length; // 全体数
var idx = Math.floor( Math.random() * elementLen );
Messenger.MyPersonalMessage = elements[idx].childNodes[0].nodeValue
+" - " + link[idx].childNodes[0].nodeValue;
}
====簡単な解説====
Ajaxでニワニュースxmlファイルにアクセスして、その中からランダムで記事を選んでパーソナルメッセージに表示させるメソッドがdisplayData()。
それをタイマーで15000ミリ秒おきに呼び出してるよ。
使ってみるとこんな感じ↓
まとめ
- JavaScriptわかってれば結構すらすら書けそう。
- JavaScript少ししか分からなくても他の言語分かれば、なんとかなっちゃう。
- dll形式でC言語も使えるらしいからさらに応用性は拡大!(未確認)
- バグがあって暴走しちゃうとメッセンジャーに登録してる人に迷惑かけちゃうから気をつけてね。