トップ «前の日記(2005-01-18(Tue)) 最新 次の日記(2005-01-20(Thu))» 編集

猿も叩けば日記


2005-01-19(Wed)

_ [net] RSS を吐くボット

早速使っていただいたみたいで. 今日の夜に,IRC::Bot をちょっといじってみる予定.たぶん daemon にするだけなら,IRC::Bot 使って一瞬でできるような気がする.

_ [linux] Net::IRC

IRC::Bot は訳分からんので捨て.nohup サイコー. さてさて,今回使った Net::IRC だが,よくできてる.接続の仕方は perldoc Net::IRC すればすぐに分かる.ただ,サーバに接続するときのパスワードの指定の仕方が perldoc は間違ってる. ""Password =" 'foo'>" と書いてあるんだが,これは Password => 'foo' の間違いだよね?実際後者でパスワード付きのサーバに接続できてるし.
$irc = new Net::IRC;
$conn = $irc->newconn();
$conn->start();
すればサーバに接続して,イベント待ちのループに入る.GTK+ での gtk_main() みたいなものなのかな.で,メッセージが来たときなどには決まってイベントが発生する.そのイベントに関して perldoc Net::IRC::Eventに詳しく書いてある. $conn->add_handler() でイベントに対応したコールバック関数を指定できるようになってる.
$conn->add_handler('public' , \&cb_public);
と書いておくと,チャンネルで発言されたときに cb_public 関数を呼び出すようになるので,そのイベントに応じた自分の好きな処理を行える. IRC でのイベントには必ずチャンネル名,ニックネーム,発言内容などが含まれている.それらはクラス変数(なのかどうかは分からない)に格納される.
sub cb_public
{
  my($self , $event) = @_;
  my $nick = $event->nick;  #$nick に発言した人のニックネームを入れる
  my $word = $event->args;  #$word に発言内容
}
上の3行はどんなコールバック関数でも雛型として使える. ということでメモ終了.

_ [linux] XML::RSS

これも使いかたは簡単.perldoc 読めば全部分かる.

便利なのは $rss->parsefile() .RSS ファイルをパースしてくれて,ハッシュに格納してくれる.

今のところはローカルのファイルにしかかけないけど,XML-RPC とか使うとリモートのもいじれたりして,かなり素敵になるんじゃないかな.

本日のツッコミ(全3件) [ツッコミを入れる]
_ しゃぼ (2005-01-19(Wed) 20:25)

おぉ、IRCって使ってるのもはや俺らぐらいだと思ってた
こんな早いレスポンスで使ってる人が現れるとは・・・少し感激

_ ふりょ (2005-01-19(Wed) 21:01)

IRCは永久に不滅です!

_ Kpuydthi (2010-02-26(Fri) 06:18)

K31exU この間も俊太郎の詩をお http://www.stlouisbusinesslist.com/business/5021837.htm?info=viagra viagra, cruucvnlpf,


2003|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|05|06|07|08|09|10|11|12|
2008|01|