#!/usr/bin/perl use Socket; use IO::Socket::INET; my $chan="#chan"; my $nick = "Uptime-Bot"; my $user= "Bot"; my $server ="server"; my $porta ="6667"; my $socket = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>"$server",PeerPort=>$porta) ; my $processo = "Processo-bot-Uptime"; $0="$processo"."\0"x16; my $pid=fork; exit if $pid; die "Problema com o fork: $!" unless defined($pid); $socket->autoflush(1); $usern=$user." 8 * : UptimeBot : scan@fratmo.it : uname -a"; print $socket "NICK $nick\r\n"; print $socket "USER $usern\r\n"; print $socket "JOIN $chan\r\n"; while (my $msg = <$socket>) { $msg =~ s/\r\n$//; my @nic=split(/\:/,$msg); my @nic2=split(/\!/,$nic[1]); if ($msg=~ /PRIVMSG $chan :!uptime/){ my $cmd=`uptime`; my @cmds=split(/\,/,$cmd); sendraw($socket, "NOTICE $nic2[0] Uptime:$cmds[0]"); } if ($msg=~ /^PING \:(.*)/) { print $socket "PONG :$1"; }} sub sendraw { if ($#_ == '1') { my $socket = $_[0]; print $socket "$_[1]\n"; } else { print $socket "$_[0]\n"; }}