[PHP] PHPでIRCBOT作ろう
- 2009-03-05 (木)
- PHP関連
こんばんわ、じーちゃんです。
今回はPHPネタです。
今から数年前……そう4年くらい前かな?
じーちゃんにとって、IRCのBOT作るときは言語環境はperlしか選択の余地がありませんでした。
なので、perlでサーバー常駐型のBOTとか作ったんですが、いまではLimechat2がJScriptを解釈してくれるのでこれがすごい楽チン! ってことで、BOTを作る環境をperl => JScriptに変更。
まぁ、perlも悪くはないけど……なんか「昔の言語」というイメージが払拭できないw
使い勝手も今となってはイマイチ……っていうか、phpがラク過ぎるんだよねぇ。やはり、配列とハッシュを意識せず使えるってのは本当にラクです。
ま、じーちゃんもWEBサーバーで動くアプリが軒並みほぼ全て「cgi」と呼ばれていた頃は、perlでごりごりいろいろ作ったりしましたが……もういまはperlはshellスクリプトの代わりぐらいしか使ってないですなw
で、JScript on Limechat2は極めて優秀なのですが、いくつか問題点があります。
1)ソースファイルが一つのみ
include とか require とかってのができません。
もちろん、Lime2自身にローカルファイルを読む機能があって、JScriptソースファイルをローカルファイルとして読み込んで、なんかの変数にまるまる中身ツッコんで必殺 "eval" をかましてやる! ……ってことは当然できます。
けど、それをやって外部ファイルの中でエラーが発生すると、"eval" を評価した行がエラーの発生行として扱われるので、どこでエラーが発生したのかわかりづらいことになります。
じーちゃんの書いたBOT……単一ファイル6千行突破してるのがあるので、いい加減ファイル分割したい……。
2)ClientBOTなので、動かすには動かす人が設定しないとならない
これも当然の話。
JScript on Limechat2のBOTは、クライアントで実行されるので、誰か動かす人が設定してやらないとなりません。
てか、そのためLime2以外のBOTを使っている人は使えないw
さくっと軽くBOT作るには"JScript on Limechat2"は非常に優秀ですが、デカいのがっつり作るにはビミョーに都合が悪い。
というわけで、じーちゃん大好きPHPでIRCBOT作れるライブラリがないかどうか久しぶりに探してみたところ……おお、あった!w
前者の"php-IRC"は、ダウンロードしてreadmeまで見たんですが面倒くさそうだったんでそれっきりw
後者の"Net_SmartIRC"は、PEAR::Net_SmartIRCではじめるIRC Bot入門というのがあって、サンプルも載っています。
pear install Net_SmartIRC
だけで、すんなり入って、かつサンプルがさくっとそのまま動作したのでこちら採用w
久しぶりにサーバー常駐型BOTを作る熱が再燃してきましたw
やっぱり、PHPはいいね♪
| 燃え尽きた…… | All | 情報セキュリティ試験のお勉強 |
| [CakePHP] CakePHPでlocalhostのmysql.sockに接続するには | PHP関連 | [PHP] PukiwikiのBasic認証をmixi認証にしてみた |
Comments:0
Trackback:0
- TrackBack URL for this entry
- http://g-chan.dip.jp/mt/mt-tb.cgi/683
- Listed below are links to weblogs that reference
- [PHP] PHPでIRCBOT作ろう from G-chan Square