凹みTips

C++、JavaScript、Unity、ガジェット等の Tips について雑多に書いています。

Twitter のリストの TL を定期的にメールで送信してくれるようにしてみた

はじめに

行き帰りのぶちぶち電波が途切れる地下鉄でイライラしながら TL をスクロールしまくって遡るのが面倒だったので作ってみました。
API 1.1 時代を見据えて、リストのツイートを取得する API を使わずに Streaming API 経由でデータを取得しているので、 API 消費を気にせず使うことができます(リストのメンバ取得の API 回数は減りますが...)。

動作イメージ

こんな感じのメールで送られてきます。

携帯でも同じように見ることができます。

ダウンロードと実行

詳細は上記の README に書いてあります。
前回のエントリ()では、MongoDB にホームタイムラインを保存することをしましたので、これを利用しています。

解説

処理の流れとしては、

  • ホームタイムラインを Streaming API 経由で逐次 DB へ保存
  • node-cron で以下の処理を定期的に実行
    • リストのメンバの ID を取得
    • DB からその ID に該当するつぶやきをとってくる
    • template.html をひな形にして ejs を利用して HTML メールの body を作成
    • node-mail で gmail 経由で指定したアドレスへメール送信

という感じになっています。

おわりに

TL 面倒いから追わない、みたいなことはなくなった気がしますが、HTML メールでは JavaScript が動かずファボれないので正直うんこ感あります。。