以前、以下のエントリにあるようにApressのBotを作成した。
ApressのDeal of the Day用のbotを作ってみた - メモ的な思考的な
その後、手元にある本の出版元を調べてみると、各社より Deal of the Day が開催されていた。
ただ、残念ながらGoogleリーダーではFeedが正しく取得できないケースもあった。
そこで、上記のBotではなく、Deal of the Dayの情報をつぶやくBotへと修正することにした。
(それに伴い、ApressのBotは停止)
Bot情報
- Twitter: @ebooksdealofday
RSSフィード(期間限定): http://api.twitter.com/1/statuses/user_timeline.rss?id=931566350→ API v1.1に切り替わったため、使えなくなりました (2014/7/19追記)
仕様
- Apress・PEARSON・O'Reilly・O'Reilly MicrosoftPressより、Deal of the DayのFeedを取得、ツイートする
- Manningも追加 (Deal of the Day botの対象にManningを追加した - メモ的な思考的な) (2014/7/19追記)
- 140文字を超過する場合、140文字に収まるように編集し、ツイートする
実装時に困ったことと対応
webapp2.RequestHandlerの「__init__」を使いたい時はどうすればよいか
コンストラクタでFeedのURLなどを設定しようと考えたものの、単純にsuper()を使うだけでは動作しなかったため、公式ページを確認したところ答えあり。
「webapp2.RequestHandler.initialize()」を使えとのこと。
Request handlers — webapp2 v2.5.1 documentation