node.jsで、im@sparqlに当日の誕生日を訊いてつぶやくやつ+

1個前の記事のやつ、誕生日のアイドルのプロフィールを画像化してくっつけたら良いのでは??と案をいただいたので、実装しました。

画像生成に使用したのはwebshotというパッケージ。

github.com

なんか関数一発でまぁまぁ良いサイズで撮れたので採用しました。
あと、コールバックが増えてきたので、Qも導入しました。

やってることとしては、1つ目のthenでは、まずrequestを使ってSPARQLをたたきます。
2つ目のthenで、取得したjsonをforEachします。本当は、Q.all()みたいなの使えばよかったんですが、一つ前のthenから受け取ったものを使ってall()を回すのが分からなくて、thenの中でforEachし、indexとlengthが等しければresolveして抜けるようにしました。
forEachでは、json内にあるプロフィールのURLをスクショして鯖に保存しています。なんでファイルに残しているかというとデバッグ用です。
また、同時にTwitterにアップロードもしています。その結果得られる画像のIDを配列に保存してそれを次のthenに渡します。
次のthenでは、実際にツイート内容を作成してつぶやいています。mediaは調べたら、stringで、","区切りで良いみたいです。

以下、gist