是给irssi写的,只不过通过他和irssi接口,所有功能都是bash脚本实现的,回头看看如何转到perl。
use vars qw($VERSION %IRSSI);
use Irssi;
$VERSION = '1.00';
%IRSSI = (
authors => 'wd',
contact => '[email protected]',
name => 'My First Script',
description => 'This script allows ' .
'you to query weather and other info ' .
'using some command.',
license => 'Public Domain',
);
sub send_msg {
my ($server, $who, @result) = @_;
my $count;
$count = 1;
while ($count <= @result) {
$server->command("msg $who $result[$count-1]");
$count++;
}
}
sub pre_send {
my ($server, $who) =@_;
$server->command("msg $who 0I'm working,Waiting me...");
}
sub end_send {
my ($server, $who) =@_;
$server->command("msg $who 0...The end.");
}
sub msg_public {
my ($server, $msg, $nick, $address, $target) = @_;
my @result;my $who;
$who = $target;
if ($target eq "") { $who = $nick; }
if ($msg =~ /^!([Dd]ict|[Ww]eather|[Gg]oogle|[Hh]elp|nslookup|rss).*$/) {
&pre_send($server,$who);
$msg =~ s/!//;
if ($msg =~ /^[Hh]elp.*$/) {
@result = ("Usage:",
"!dict ur_word",
" eg: !dict license",
"!weather location [today|tomorrow]",
" eg: !weather beijing",
"!google sth.",
" eg: !google archlinux",
"!nslookup domin_name",
" eg: !nslookup archlinux.org",
"!rss feed_url",
" eg: !rss http://blog.wdicc.com/wordpress/feed/");
} else {
@result = `/home/stef/get $msg`;
}
#$server->print("#arch-cn", "$nick, $target, $who");
&send_msg($server, $who, @result);
&end_send($server, $who);
}
}
Irssi::signal_add_first('message public', 'msg_public');
Irssi::signal_add_first('message private', 'msg_public');