ずっとtwitter bot作りたいなーと思ってたんだけど、どんなbotにしよう?あれはもうあるし...ってなってずっと作ってなかったんだけど、今日の日付(Ymd表記)が素数であるかないかを返すbotを作ったよ( ´ ▽ ` )ノありそうでなかった! @sosubi_bot— アンナ (@anapple07_jp) 2016年10月1日
てことで、今日が素数日であるかないかをツイートするbotを作りました。
言語はperlで作りたかったのですが、moduleインストールとか環境作りで躓いたので諦めました。perlなのに...笑
サーバーは遊びで契約していたVPSがあったのでそれを使いました。そっちは結構前にPHP入れてたので久しぶりにPHPで書くことに。
2016年10月27日は素数日です!! #素数日— 今日は素数日? (@sosubi_bot) 2016年10月26日
素数日判定ロジックどうしよーと思って考えてたら、標準関数にそれっぽいのがありそれを使いました。
これ、「おそらく素数であるかを調べる」とかいうめっちゃふわっとしたのでウケたんですけど、まあ大丈夫だろうと思って使ってたら初めての素数日当日に、「明らかに素数」ではなく「おそらく素数」って返ってきたのでやめました。
で、素数ってエラトステネスの篩っていう昔の人が考えたアルゴリズムで出すのが一般的だったみたいなのでそっちに書き換えました。
素数日botに自動リフォロー機能をつけたい。— アンナ (@anapple07_jp) 2016年10月14日
あとどうせなら自動リフォローもつけたいなーって思っててそれもつけました。一応3時間に1回でリフォローします。
ここデバッグしてないからあとで変更するかもだけど...
(追記:2016-11-05)
Twitterの利用規約的に、自動フォロー解除はアウトらしい。まあ、全然フォローしてる人いないのでとりあえず一旦これはなかったことに。
あと問題があって、今年の素数日が11/3が最後なんですね。で次の素数日が2017/1/21で。
その間ずっと
ってつぶやきが流れるのしんどいかなーって思ったんですけど、 あんまり動いてないとこのbot生きてるの?ってなっちゃうので、とりあえず1日1回はつぶやくようにしました。2016年10月30日は素数日ではありません。— 今日は素数日? (@sosubi_bot) 2016年10月29日
だいたい素数日で月に2回くらいあるんですけど、今年の10月は月に5回も素数日があったので確認する日がたくさんあってよかったです( ´ ▽ ` )ノ
素数日も4回成功してるからロジックも大丈夫なはず。
ただcron失敗してる時がちょいちょいあって、ちゃんとエラーログ吐いてslackとかに投げたいな、と思いました。
私の初めてのtwitter bot作成はこんな感じでした!
bot楽しいから量産する人の気持ちがわかりました( ´ ▽ ` )ノ
次はLINE botも作りたいなあ〜( ´ ▽ ` )ノ
***
(追記:2017-08-21)
Pythonで書き換えました。
フォロー返しはつぶやくとき同時にするようにしました。なので1日1回。
Follow Me