IRCbotのnadokaといふもの

ここ3ヶ月が生きてきた中で最もIRCを使っている

IRCといふものありけり、
そこでは日々くだらないことや、地味に大事なことを話しているようで、
時には人を呼ぶことに使い、
時にはリマインダーとして利用し、
時には闇の取引も行われる。


ちなみに、わたくし、昔はUstreamのコメビュとして利用していた時期はある。
そんなIRCを便利にするために、botを設置する。
botはいくつもライブラリがあって、Hubotやmadokaなどが有名らしい。


新卒のわたくしは、配属前にRubyに慣れるというため、ということで
madokaのRuby版のnadokaを触ることになった。

Ruby自体は、CGIとか作っていた経験から、基礎的なことは知っているつもり。
でも、わたくしがRuby触ってた時は、1.8系と1.9系の混在してる時期で、
今や2.1系らしく、なんか触らなすぎたなーという印象。

nadoka - ここを見れば大体OK

Nadoka: IRC Client Server Program - nadokaさんとあそぼう
GitHub - nadoka/nadoka: IRC server client program.
nadoka のプラグインの作り方 - @tmtms のメモ

以下詳細

定期的に発言したいんだけど?

cron的なのは、on_timerメソッド使えばいいよ。
大体1分ごとに実行されるよ。
引数には、Timerクラス来るよ。
てか、プラグインサンプル見ればいいよ
nadoka/cronbot.nb at master · nadoka/nadoka · GitHub

なんか時々botがチャンネルから追い出されるんだけど?

連続発言しすぎ乙。
send_notice()とかで送った後に、sleep 1とかしてやれば、
100回以上連続投稿しても追い出されないよ。
150回以上連続投稿したら追い出されたよ。

天気もIRCで知りたいんだけど?

ホレnadoka/tenkibot.nb at master · nadoka/nadoka · GitHub

ルーレット回したいんだけど?

ホレnadoka/roulettebot.nb at master · nadoka/nadoka · GitHub
犠牲者はキミだ

他になにか

もう面倒くさい
nadoka/plugins at master · nadoka/nadoka · GitHub