るどさんのブログ

フリーランスプログラマーがライフハック的なことや他色々なことについて徒然なるままに語るブログ

bitflyerのチャットを取得するプログラム(Node.js)

bitflyerのチャットは画面を表示しからのコメントしか見る事ができない。

そのため画面表示以前のコメントを取得するサービスを作りたかった。

しかしNode.jsを使って簡単に取得することができるが、hatenablog上ではNode.jsを動かしたり外部からの情報を取得することが難しいようだ。

取敢えずNode.jsで作ったプログラムを残しておく。

そのうち以下のモジュールをサーバサイドで動かしてブラウザで表示するサービスを作るかもしれない。(もっと有用なものがあれば、それを優先する)

var http = require('http');var http = require('http');
var request = require('request');
var moment = require('moment');
var path = 'https://api.bitflyer.com/v1/getchats';
var date1 = moment().subtract(4,"hours");
var lastdate = "?from_date="+date1.toISOString();
function getchat()
{
request.get({
url: path + lastdate
}, function (error, response, body) {
jsonstr = JSON.parse(body);
if (jsonstr != "")
{
//console.log(jsonstr);
jsonstr.forEach(function(each)
{
//console.log(each[0]+"\n");
date2 = moment(each.date+"Z");
if (date1 < date2)
{
console.log(each.date+" "+each.nickname + " "+each.message+"\n");
}
date1 = date2;

});
var date3 = date1.add(1, 'milliseconds');
tempdate = "?from_date="+date3.toISOString();
lastdate = tempdate;
}
});
}
setInterval(getchat,2000);