#!/usr/bin/perl -w
# First and Basic Example of IRC bot
# http://marcoramilli.blogspot.com
##################################
use IO::Socket;
my $server = $ARGV[1];
my $user = 'marcoramilli';
my $botnick = $ARGV[0];
my $nickservpass = $ARGV[2];
if(@ARGV < 2) {
print STDOUT "Usage: $0 [nick] [server] [nickserv pass] -- if nickname is not registered , leave it blank.\n";
exit; }
$con = IO::Socket::INET->new(PeerAddr=>$server,
PeerPort=>'6667', # change this if needed..
Proto=>'tcp',
Timeout=>'30') || print "Error: Connection\n";
print $con "USER $user\r\n";
print $con "NICK $botnick\r\n";
if(@ARGV == 3) {
print $con "privmsg nickserv IDENTIFY $nickservpass\r\n"; } # if $ARGV[2] exists..
print $con "JOIN #channel\r\n"; # modify that ..
while($answer = <$con>) {
# #
# add code here #
# #
if($answer =~ m/^PING (.*?)$/gi) {
print $con "PONG ".$1."\n"; # replying to pings..
}
print STDOUT $answer; # printing $answer to the terminal..
}
I definitely suggest to take a look to my small but interesting ICRBot collection if you are interested on having some basic about bot programming. You probably want to reuse part of the code and/or mix it with your own. In the collection you'll find :
- Simple BOT (actually the code is up here)
- Bot Sniffer
- IRC spam Bot
- MD5 cracker irc bot
- The Santa Bot
- Stealth ShellBot
- [ ... not really much more ... ]
Obviously everything is only for research purpose on socket programming and on computer science security. The bots cannot be installed on unaware systems, you can install the bots only on your own systems.
Have fun !