#!/usr/bin/perl use IO::Socket; use IO::Select; use LWP 5.64; my $browser = LWP::UserAgent->new; my $url = "http://bash.org.ru/random"; $nick = 'Комментатор'; $chan = '#link.net'; $sock=IO::Socket::INET->new("irc.silvernet.org:6667") || die "can\'t connect to server\n"; $sock->autoflush(1); $select=new IO::Select($sock); syswrite($sock,"USER test2 test2 test2 test2\nNick $nick\n"); syswrite($sock,"JOIN $chan\n"); while(1) { syswrite($sock,"JOIN $chan\n"); foreach $s ($select->can_read) { if ($s eq $sock) { if(@part[0] eq "PING "){syswrite($sock, "PONG\n")} #определение ника,идента,действия,параметров $sock->recv($msg,1024); print($msg); @part=split(/:/,$msg); @tmp=split(/!/,@part[1]); $_nick = $tmp[0]; @tmp2 = split(/@/,@tmp[1]); $ident = $tmp2[0]; $mes = $part[2]; @cmd = split(/ /,$mes); @tmp3 = split(/ /,$msg); $act = $tmp3[1]; #поехали команды, условия, хлявное пиво if ($msg=~/жжош/){syswrite($sock, "PRIVMSG $chan :4бу9го8га\n");}; if ($msg=~/всем бб/){syswrite($sock, "PRIVMSG $chan $_nick: бб\n");}; if($act =~ /^JOIN/){syswrite($sock, "PRIVMSG $chan ACTION машет $_nick - ку!!!(в пер.рус привет)\n")} if($msg =~ /MODE $chan \+v $nick/){syswrite($sock, "PRIVMSG $chan ACTION благодарит $_nick\n")} if($msg =~ /MODE $chan \-v $nick/){syswrite($sock, "PRIVMSG $chan $_nick цукен отдай войсину)))\n")} if ($mes=~/\)\)\)\)\)\)/){syswrite($sock, "PRIVMSG $chan :ыыыыыы)))))))))))\n");}; if ($mes=~/$nick/){syswrite($sock, "PRIVMSG $chan :отстань $_nick - нипонятно же. фак'ю спилберг \n")} if ($cmd[0]=~/^!пива/){if ($cmd[1]){syswrite($sock, "PRIVMSG $chan ACTION дает пива $cmd[1]\n")}else{syswrite($sock, "PRIVMSG $chan ACTION наливает всем пива\n")}} if ($cmd[0]=~/^!bash/) { my $response = $browser->get($url); $cont = $response->content; chomp($cont); @quote = split(/div/,$cont); s/"/"/; s/
/\n/; @quote_end = split(/<.*?>/,$quote[10]); foreach(@quote_end) { s/\"/"/g; s/\>/>/g; s/\</