use DBI; use Irssi; use Irssi::Irc; use vars qw($VERSION %IRSSI $shield_user_password); $VERSION = "0.1.0"; $shield_user_password{'your_nick'}="your_password"; %IRSSI = ( authors => "Sergey Ponomarenko, Dmitry Kolesnikov", contact => "kastaneda\@gmail.com", name => "RusNetNickServ", description => "NickServ Shield", license => "beerware", url => "http://kastaneda.kiev.ua/", ); sub msg_irc_notice { my($server, $msg, $nick, $adress, $target)=@_[0, 1, 2, 3, 4]; if ($nick eq "NickServ") { if (index($msg, "Если это Ваш ник,")>0) { helper_authenticate($target); } if (index($msg, "nick will be changed")>0) { helper_authenticate($target); } } } sub helper_authenticate { my($nick)=@_[0]; my(@servers)=Irssi::servers(); my($passwd)=$shield_user_password{$nick}; if ($passwd ne "") { Irssi::print("NickServ: Authenticating for nick $nick"); # $servers[0]->command("MSG NickServ@*.RusNet identify $passwd"); $servers[0]->command("/QUOTE NickServ identify $passwd"); } } Irssi::signal_add_last('message irc notice', 'msg_irc_notice'); Irssi::print("NickServ Shideld Loaded.");