no_picture

LT駆動開発で ruboty の使い方っぽいことを適当に紹介した

LT駆動開発 05 でライトニングトークをした。 6月はすごい広島のBOTを作って遊ぶことをしていた気がしたのでこれを紹介することにした。これは Ruboty で作成した。 何か毎回やってないネタを挟みたいということで、ふたつスライドを用意して相互参照するというネタをした。 まずは、BOTの具体例である「すごい広島 BOT」を紹介することでなにがしたいのかをBOTを知らない人に理解してもらう。 そこから、どうやってそれを作るのか。というところに焦点をおいたというライトニングトークするという流れである。 しかし、実際、ふたつもライトニングトークをする時間があるかどうかわからないので「Rubotyの使い方」はかなり適当につくってしまった。 類似性を持たせるために、前半は同じ構成になっている。 最終的にしたいことは、「すごい広島のTwitterアカウントを誰か運用してくれ」ということかもしれない。 すごい広島のBOTは今後もプロキシーBOTとして活躍していただきたいところである。 ruboty-twitter の fork をみてみると、デバッグ用のコード仕込んでみたりとかしているところがあって、うまくメンションが返ってこなかったからかと思い、その辺を補足してみたという経緯があったりなかったりもします。 関連 Rackup で Ruboty すごい広島 一周年 LT駆動開発という勉強会をはじめるよ

no_picture

rackup で ruboty

ruboty を heroku で動かすついでに web アプリケーションとして扱いたい。 その場しのぎで書いたコードを紹介する。 config.ru の中で別スレッドを起動して Ruboty#run を走らせた。 # Rackアプリになるように call メソッドを実装 module Ruboty::Web def call(env) [200, {'Content-type' => 'text/html'}, ['hello, world']] end end Ruboty::Robot.include(Ruboty::Web) Thread.new do robot.run # bot起動 end run robot # rack アプリを構築 heroku では 1X dynos でもスレッドが 256 個ぐらい起動できるっぽいしきっと大丈夫だろう。いや、わからんけど。 参考: Limits | Heroku Dev Center シグナル処理も追加したほうが良い気がするけど、とりあえず気にしない。 そのうちウェブアプリを構築しやすくする方法を考えたい。 関連 hubot で起動しているウェブサーバを経由して idobata へ投稿してみる