#!/usr/local/bin/perl
print "Content-type: text/plain\n\n";
########################
$owner = "LOKI-18";
$host = "spin.ath.cx";
$port = "6667";
$room = "spin";
$nick = "C0roNa";
$kicked = "off";
$copyed = "off";
use IO::Socket;
$remote = IO::Socket::INET->new(PeerAddr => $host, PeerPort => $port,
+Proto => "tcp"); lokbot("USER", $nick, $nick, $host, $nick); lokbot
("NICK", $nick);
lokbot("SETNAME LOW");
lokbot("NOTICE !C0roNa!");
lokbot("PRIVMSG $owner : Connected on $host $date"); lokbot("JOIN", "#
+$room", $pass);
lokbot("PRIVMSG $owner :Joined #$room...");
$ALIVE = 1;
while ( $ALIVE == 1 ) {
&GET;
if ($from eq $owner) {
if ($msg =~ /!die/) {
lokbot("PRIVMSG $owner :Signing: OFF... ");
lokbot("QUIT", ":blah");
close($remote);
$ALIVE = 0;
}
if ($msg =~ /!say/) {
lokbot("PRIVMSG", "#$room", ":$say");
lokbot("PRIVMSG $owner :Message: Said.");
}
if ($msg =~ /!nick/) {
lokbot("NICK $cnick");
lokbot("PRIVMSG $owner : Nick Change Attempted. ");
}
if ($msg =~ /!kick/) {
lokbot("PRIVMSG $owner :kicking: $kick");
lokbot("KICK #$room $kick");
}
if ($msg =~ /!join/) {
lokbot("PRIVMSG $owner : joining: $join");
lokbot("JOIN $join");
}
if ($msg =~ /!part/) {
lokbot("PRIVMSG $owner :parting: $part");
lokbot("PART $part");
}
if ($msg =~ /!op/) {
lokbot("PRIVMSG $owner :Oping: $op");
lokbot("MODE #$room +o $op");
}
if ($msg =~ /!deop/) {
lokbot("PRIVMSG $owner :deoping:$deop");
lokbot("MODE #$room -o $deop");
}
if ($msg =~ /!ban/) {
lokbot("PRIVMSG $owner :Baning: $ban");
lokbot("MODE #$room +b $ban");
lokbot("KICK #$room $ban");
}
if ($msg =~ /!unban/) {
lokbot("PRIVMSG $owner :Unbaning $unban");
lokbot("MODE #$room -b $unban");
}
if ($msg =~ /!mode/) {
lokbot("PRIVMSG $owner :Mode is:$mode");
lokbot("MODE #$room $mode");
}
if ($msg =~ /!quit/) {
lokbot("PRIVMSG $owner :Quiting: $quit");
lokbot("QUIT :$quit");
}
if ($msg =~ /!me/) {
chop($me);
chop($me);
me("$me");
}
if ($msg =~ /!con/) {
lokbot("PRIVMSG $owner :copy:on");
$copyed = "on";
}
if ($msg =~ /!coff/) {
lokbot("PRIVMSG $owner :copy:off");
$copyed = "off";
}
if ($msg =~ /!kon/) {
lokbot("PRIVMSG $owner :KICK:on");
$kicked = "on";
}
if ($msg =~ /!koff/) {
lokbot("PRIVMSG $owner :KICK:off");
$kicked = "off";
}
if ($msg =~ /!topic/) {
lokbot("PRIVMSG $owner :topic is set");
lokbot("TOPIC #$room :$topic");
}
}
if ($msg =~ /!8ball/) {
@ball = ("no", "yes", "Maybe", "Who knows?", "Never", "leave me alone"
+, "only if u give me money", "i dont know", "who cares");
if ($quez =~ /Are you dumb?/) {
$answer = "No";
}
elsif ($quez =~ /are you dumb?/) {
$answer = "No";
}
elsif ($quez =~ /Are you a stupid?/) {
$answer = "No";
}
elsif ($quez =~ /are you stupid?/) {
$answer = "No";
}
elsif ($quez =~ /do i need a beer/) {
$answer = "yes go get a beer now";
}
elsif ($quez =~ /are u stupid/) {
$answer = "No im not stupid";
}
elsif ($quez =~ /sex/) {
$answer = "sex damn i need some sex";
}
else {
$answ = int(rand(@ball));
$answer = $ball[$answ];
}
lokbot("PRIVMSG", "#$room", ":$answer");
}
if ($type =~ /NOTICE/) {
$addpriv++;
@bspyd = split(/ /, $msg);
($spymsg1, $spymsg2) = split(/:/, $msg,2);
$spymsg =~ tr/ / /;
if($spyed eq "on") {
lokbot("PRIVMSG", "#$room", ":$spymsg2");
}
}
if ($type =~ /KICK/) {
$addkick++;
@bkicked = split(/ /, $msg);
($kickmsg1, $kickmsg2) = split(/:/, $msg,2);
$kickmsg =~ tr/ / /;
if($kicked eq "on") {
lokbot("PRIVMSG", "#$room", ":>>> $bkicked[3] was kicked by $from <> $
+kickmsg2");
}
}
if ($msg =~ /!msg/) {
@line = split(/ /,$allmsg);
$to = $line[0];
$line[0] = "";
lokbot("PRIVMSG", "$to", ":@line");
lokbot("PRIVMSG $owner :[Owner Notice]: Message sent to $to");
}
}
if ($msg =~ /!mail/) {
($mto, $msub, $mmsg) = split(/&:/, $mail);
if ($mto !~ /@/) {
lokbot("PRIVMSG", "$owner", ":ADDY");
}
if ($msub eq "") {
lokbot("PRIVMSG", "#$room", ":Subject.");
}
if ($mmsg eq "") {
lokbot("PRIVMSG", "#$room", ":Message.");
}
else {
open(MAIL,"|$sendp -t");
print MAIL "Sender: $from\@$host\n";
print MAIL "To: $mto\n";
print MAIL "From: C0roNa\@$host\n";
print MAIL "Subject: $msub\n\n";
close(MAIL);
lokbot("PRIVMSG", "#$room", ":Sending");
}
}
sub GET {
recv($remote, $casio, 10000, 0);
@casio = split(/:/, $casio);
@info = split(/ /, $casio[1]);
@usermask = split(/!/, $info[0]);
$from = $usermask[0];
$mask = $usermask[1];
$type = $info[1];
$to = $info[2];
$msg = substr($casio, index($casio, ":")+1);
$allmsg = substr($casio, index($casio, "!msg")+5);
$say = substr($casio, index($casio, "!say")+5);
$me = substr($casio, index($casio, "!me")+5);
$what = substr($casio, index($casio, "me")+5);
$op = substr($casio, index($casio, "!op")+4);
$deop = substr($casio, index($casio, "!deop")+6);
$ban = substr($casio, index($casio, "!ban")+5);
$cnick = substr($casio, index($casio, "!nick")+6);
$join = substr($casio, index($casio, "!join")+6);
$part = substr($casio, index($casio, "!part")+6);
$kick = substr($casio, index($casio, "!kick")+6);
$mode = substr($casio, index($casio, "!mode")+6);
$quit = substr($casio, index($casio, "!quit")+6);
$quite = substr($casio, index($casio, "!qon")+6);
$topic = substr($casio, index($casio, "!topic")+7);
$unban = substr($casio, index($casio, "!unban")+7);
if (substr($casio, 0, index($casio,":")) =~ /^PING/){
lokbot("PONG $server");
$server = substr($casio, index($casio, ":")+1, length($casio));
lokbot("PRIVMSG $to :PinG $server"); } }
sub lokbot {
$line = join(" ", @_);
send($remote, "$line\015\012", 0);
}
sub me {
$action = $_[0];
lokbot("PRIVMSG #$room :\001ACTION " .$action. "\001");
}
sub cmd {
$laction = $_[0];
lokbot("PRIVMSG $from :\001ACTION " .$laction. "\001");
}
exit;
|