萌えキャラとは何だったのか

ギークにも絵描きにもなれない者の末路

人生の迷子の行き着く先は富士の樹海ではないかと最近良く考えています。mix3です。

p5-IkuSan

IRCボットいい加減今のプロジェクトに欲しくなったので、自分がIRCボット作ったらこうするなというのを以前書いたのだが、今回は実際にそれを作ったという話です。

ただ単に作るだけだと別にUnazuSanで良いじゃないってなっちゃうので、以下の機能を盛り込みました

Getopt::Longの引数が取れる

以前の記事参照

並列にタスク処理が出来る

最初Gearman使って頑張ってたのだけれど @karupanerura さん作、AnyEvent::ForkManagerというのがあるのを見つたのでそれを使うように。worker数を指定出来る様にして並列に処理出来る様にしました

あんまり気にしなくても良いとは思うけれども処理中だからってボットが無反応になるのはなんとなく嫌だったので

タスク処理中、dieしたら共通処理出来る様に

Try::Tinyを使って囲ってるだけなので別にいらないと言えばいらない(自前でtry catchするのでも良い)が、どうせボットが返すエラー文言なんて一律で同じように返したって全然良いと思うので、共通処理を設定出来る様にしておきました

ということで

p5-IkuSanが出来ました

一応CPANに上げるつもりだったので、今まで使ったことなかったMinillaを使ってみたり、plenvCartonを経由してdaemontoolsで起動出来るようにするというplackアプリの起動で良くある感じのアレをちゃんとやってみたり、その際にCarton経由しつつsystem perl使おうとするとCartonの方で環境変数PERL5OPTが設定されてしまうのでunsetするなりしないと読むモジュールが違って悲しい思いをするということを知ったり、perl5.19.10とか使うとNet::SSLeayあたりでpanicとかなんとか言われて動かなかったり(原因不明)forkしてる関係で子プロセスからsend_messageやらなんやらしようとして死にまくったりして、ikachanリスペクトで頑張ってみたり、衣玖さんはやっぱり可愛いんだなと再認識したりしました。CPANの方にもちゃんと画像出る様にしたい。

あと以下の発言が実現出来てワタクシ非常に満足しております。煩悩はチカラなり。