All pastes #519233 Raw Edit

Untitled

public text v1 · immutable
#519233 ·published 2007-05-29 16:16 UTC
rendered paste body
#!/usr/bin/perl -w

# irc.pl

# A simple IRC robot.

# Usage: perl irc.pl



use strict;


# We will use a raw socket to connect to the IRC server.

use IO::Socket;



# The server to connect to and our details.

my $server = "irc.slashnet.org";

my $nick = "botibot";

my $login = "botibot";
my $ok = 0;
my $ok2 =0;
my $master ="KiPSeRoN";
# The channel which the bot will join.

my $channel = "#ksss";



# Connect to the IRC server.

my $sock = new IO::Socket::INET(PeerAddr => $server,

                                PeerPort => 6667,

                                Proto => 'tcp') or

                                    die "Can't connect\n";



# Log on to the server.

print $sock "NICK $nick\r\n";

print $sock "USER $login 8 * :$master robot!!\r\n";



# Read lines from the server until it tells us we have connected.

while (my $input = <$sock>) {

    # Check the numerical responses from the server.

    if ($input =~ /004/) {

        # We are now logged in.

        last;

    }

    elsif ($input =~ /433/) {

        die "Nickname is already in use.";

    }

}



# Join the channel.

print $sock "JOIN $channel\r\n";
print $sock "PRIVMSG $channel :hi i am $master BoT =]\r\n";
#PRIVMSG  #irchacks :Hello everybody! 

# Keep reading lines from the server.

while (my $input = <$sock>) {

    chop $input;

    if ($input =~ /perl$

^PING(.*)$/i) {

        # We must respond to PINGs to avoid being disconnected.

        print $sock "PONG $1\r\n";

    }

    else {

        # Print the raw line received by the bot.

        print "$input\n";

    }
my $f;
if(($ok = index($input,"&master") != -1) && ($ok2 = index($input,$master) != -1)) 
{
print $sock "PRIVMSG $channel :$master\r\n";
}
if(($ok = index($input,"&uptime") != -1) && ($ok2 = index($input,$master) != -1))
{
my $dd = `uptime`;
print $sock "PRIVMSG $channel :$dd\r\n";
}

}