毛botとの出会い

この記事は毛 Advent Calendar 2014 - Adventarの最終日ぐらいに書こうと思ってた記事です。

動機

今年6月ごろからかすかたんがkasumikobotとかいう下らない機能満載のbotを作っていた。彼の影響もあって暇な夏休みに「毛」の含まれるpostに「毛」と返すだけのもっと下らないbotを作ってやろうと思い立った。

開発

twitterbotについて調べてみたところ大多数がrubyで書かれてそうなのと、kasumikobotがrubyで作られていたのとでrubyを使うことにした。

情報学科ではコース配属された学生へのMBAの貸し出しが今年から始まり、俺も自分のノートPCが持ち運べない状態になってしまったので借りたがあまり使っていなかった。ここでそのMBAが大活躍。環境導入も一瞬でストレスなく作業できた。

rubyという言語を初めて使ったがこれも楽に書ける。今までC言語で苦戦してた配列や文字列の処理で特に実感した。こんなことがしたい、と思ったらだいたいそれを実現するメソッドがあってこんなに楽でいいのかと不安になるくらいだった。

ちなみにこのbot、ローカルで動かしているため俺がMBAの電源を切ってる間は停止している。raspberry Piを買うなりheroku使うなりで常時稼働させようかと思ったが、面倒臭そうだったのと常時稼働させたところでどうせすぐ規制されるのだからあんまり意味なさそうというのでローカルのままにしてある。

反響

「n時の毛」「毛」「sonohennniiruガチャ」ぐらいしか機能がなかった初期の頃は物好きな身内からのフォローされ、あのbotは一体何なのかとよく聞かれた。自分が思い描いていた機能は全て完成していたのだが、「もっと機能増やす」などと口走ってしまい、まあ夏休み暇だし作って楽しいしもっと作るか、とミニゲームを実装し始めた。

ポーカーやヌメロンを実装してからというもののフォロワー数が急激に増えた。物好きな身内+αぐらいで細々とやる予定だったのだが俺の知らない人の方が多いぐらいになってしまった。フォロワー数の増加に伴いpost数も増え、投稿規制にかかることも多くなり対応に窮した。

いつしか「毛」を返すbotではなく、ミニゲームで「毛ポイント」を増やし「毛ランク」の順位で争うbotへと変化した。

アカウントごとにミニゲームの制限をかけたのだが、それを潜り抜けるように「毛用アカウント」が幾つも出現した。上位毛ランカーたちが遊んでくれるのは嬉しいが、こんなbotに熱中するぐらいならもっと他のことに時間を活用してほしい。

感想

なんとなく始めたbot開発だが、楽しいの一言に尽きる。プログラミングがここまで楽しいと思ったのは小学生の頃HSPでゲームを作ろうとしてた頃以来かもしれない。

芸術や創作において、自分の表現したものに対して他の人が感想を述べてくれたり、何らかのフィードバックを得ることにも大きな楽しみがあると思うんだけど、twitterbotの開発ではそれが簡単に得られる。

昔作っていたゲームだと、webページに作品を公開して、ユーザーがページを発見してゲームをダウンロードして起動して遊んで、その中でも一握りの人だけが感想を送ってくれてようやく自分の作品に対する反応がわかる、そんな状態だった。(そもそも普通の子供の作ったゲームをわざわざダウンロードしようなんて人がほぼいなかった。)

それがbotでは、俺が起動したら一瞬でtwitterのアカウントに反映され、ユーザーは普段通りpostするだけで遊ぶことができる。手軽さゆえに反応の数も増えるし、わざわざ感想を書いてくれなくてもやり取りは全てtwitter上で行われるため誰がどのように遊んでるかが把握できる。人が自分の作ったもので楽しんでいるとわかるのはやはり嬉しいものだ。そういった欲求を簡単に満たすことができると感じた。

今後

1月後半にMBAを学科へ返却しなければならない。windowsで同じことをやるのが面倒臭そうだし俺も一通り満足したので特に強い要望がなければ毛botを終了させようと思う。