Twitterに聴いている曲をPostしてみる

Twitterに聴いている曲をPostできればいいなぁと思いまして…
まぁlast.fmなんていう便利なサービスもあるみたいですけど、ここはあえてそれを使わず…
しかし、私がいつも使っているプレーヤーulilithには投稿用pluginが無いようで…


それを作るのもあれ何で、色々とググっていると…ありました、ちょうど良いのが。
再生中の曲名をtwitterに投稿する方法 | じゅんびちゅうブログ2.0


Windows Live Messengerで「Messenger Plus!」のスクリプトに「TwitPSM」というTwitterにコメントをPostするスクリプトがあるみたいで、それに少し手を加えるとシアワセになれるみたい。
とりあえず、書いてあるとおりにやってみると…なるほど投稿できたw


しかーし、これだと節度無くPostをしてしまう…せめてPostする割合(聴いている曲の何%をPostするとか)とかx秒以上聴いていない曲の情報は投稿しないとかっていう設定くらいはしたいところ…
ってことで、さらにスクリプトに改造を加えてみた…
とりあえず、メッセのコメント自体はPostして欲しくないので、「TwitPSM.js」に記述されている「OnEvent_MyPsmChange」関数をコメントアウト
そして、ファイルの先頭に以下の一文を追加。stoptimeに代入している数字は、Postの間隔を何ms開けるかという設定。

var timedata;
var stoptime=300000;

後、「Twitter」クラスの「Send」メソッドをこんな感じで書き換えてやる。

//連投抑制機能
if(timedata != undefined)
{
	Debug.Trace((new Date())-timedata + "ms経過");
	if((new Date())-timedata < stoptime)
	{
		Debug.Trace("連投と判断。抑制します");
		return;
	}
}
	
var username = Prefs.get("username");
var password = Prefs.get("password");

(省略)

xmlHttp.send("status="+message);
timedata=new Date();

これで、ある程度間隔を開けて投稿されるようなりました。


次に、「TwitMusic.js」(上のサイトの指示に従って自作したファイル)の

Debug.Trace(message);
Twitter.send(message);

var ratio=3;
if(Math.floor(Math.random() * ratio) == 0)
{
	Debug.Trace(message);
	Twitter.send(message);
}else{
	Debug.Trace("RANDさんは投稿したくないようです");
}

このように書き換え。これで、Post率を33.333%に設定できる。割合を変更したい場合はratioに代入する数字をいじれば良いわけですね。分かります。(1/ratio) * 100 %の割合でPostします。

こんな感じで…私はシアワセになれました…
しっかしわかりにくい文章だなぁおいw
丸々引用するのがなんか申し訳ないような気になったので、こんなわかりにくい内容になってしまいました…orz
参考になれば幸いです。