あさた研メモ

主に私が気づいたこととか困った時のメモとか書き留めとく用。

トイレカウントbotを作った話

この記事は PMOB Advent Calendar 2015 の 6 日目の記事です.

最近こんなのを作りました。
github: https://github.com/asatake/toilet_count
Twitter: https://twitter.com/toiletcount

すごくしょうもないTwitterBotです。
これに関してちょっと話そうかと。

なぜこんなアホなもの作ったのか

しょっちゅうトイレ行くしトイレ行きたいってツイートする友人がある日
「トイレってカウントして欲しい」
的なこと言ってたので、まあいい勉強になるだろうと思い、つくりました。

構想

以前にupdate_nameを作ってたので、それを応用すれば作れるでしょ、みたいな甘い考えではじめました。

累計カウント数と一日の回数をそれぞれ覚えておきたいなあと思い、
んじゃなんか外部ファイルに記憶しておこうと考えました。

最初CSVにしようとしたら、しゃみそん君にいやそれ遅いでしょ、と言われたので、
dbファイルにSQLで〜みたいな雰囲気をやることにしました。

苦労したこと

そもそもちゃんとDBやったことない!

ということでささっとググッて何回もエラー出しました。

本当は「toilet」もカウントしたかった

botのアカウントIDが@toiletcountで、それと被る!
@toiletcountはカウントしないで、toiletはカウントする、みたいな正規表現書けなかった。

デプロイが一番きつい

Herokuだと時間制限があるから、じゃあ借りてるサーバに置いとこうと思ったらこれが大変でした。
既にupdate_nameを動かしてあるので、それと一緒に動かすためにシェルスクリプト書いて、
それをsystemdのserviceで管理する、という方法を取ったのですが…
なんかいっぱいエラーでちゃった…。
python3系で書いてるのですが、指定してるのになぜかpython2で実行しようとしたり、
dbファイルがなぜかreadonlyになってたり…。
もうやけくそで、強引に解決しましたので、今は多分ちゃんと動いてるはずです。

最後に

Twitterbot作るの、やっぱり楽しいです。
コーディングはとても苦手なので、いっぱい叩かれそうですが…。
みなさんもぜひ、自分のオリジナルのTwitterBotを作ってみましょう!