Heroku
Twitter
HerokuDay 14

Heroku で Twitter bot を運用する

More than 1 year has passed since last update.

Heroku で運用している Twitter bot について書きます。


どういう bot か

ソースコード: https://github.com/yono/yonobot

定期的に


  • ランダムに生成した文章のポスト

  • メンションへの返信

をします。

私のツイートのログを基にしてるので、ランダムとはいっても比較的日本語っぽい文章が出てきます。

特に実用性は無くて観葉植物みたいな感じです。





Heroku での運用について

以下の構成で動いています。

これで2年くらい動かしてますがノーメンテで元気に動いてくれてます。

その前は GAE/Python で動かしてましたが料金体系の変更により Ruby で作り直して Heroku に引っ越ししたという経緯があります。


heroku-buildpack-mecab

デフォルトでは mecab gem がビルドできないため。

mecab は発言生成時でなく、発言の元となるツイートを形態素解析するのに使ってます。

(でもよく考えたら Heroku 上では解析処理してないので使わずに済むかもしれません……)


Heroku Scheduler

定期的な発言と返信の実行に使ってます。

返信はもう少しこまめに実行したいですが、10分おきが最短なのでやむなくそうしています。

herokuscheduler.jpeg


mLab MongoDB

発言の元データを置くのに使っています。

PostgreSQL でなく MongoDB を使っているのはレコード数が17万件くらいあって Heroku Postgres の Hobby Dev プランの制限にひっかかるからです。

mongodb.jpeg


まとめ

Heroku で運用している Twitter bot の構成について紹介しました。

イレギュラーっぽいですがこういう使い方もあるということで。