[+]Topic: Code
[+]Von: Neo2k8
[+]Return: Code
#!/usr/bin/perl -w
###################
#
# Little IRc Bot
# to Log some shit
#
#
# written by Neo2k8
#
####################
use strict;
use warnings;
use IO::Socket;
my $version = "v1.1 Alpha";
my @logo =("
__ ___ _ ___ _
| | | |___ | |_| | |_
| |__| | | . |_| . | | | _|
|_____|___|_ |_|___|___|_|
|___| $version
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
");
system(clear);
system(cls);
print "@logo","\n";
print "=> B0t loaded...","\n";
if(!-e "config.txt")
{
&error;
sub error
{
system(clear);
system(cls);
print "@logo","\n";
print "=> Config.txt nicht gefunden.","\n\n";
print "=> [1]: Config erstellen","\n";
print "=> [x]: Exit B0t","\n";
print "=> Eingabe : ";
chomp(my $in = <STDIN>);
if($in eq "1")
{
&new_conf;
}
elsif($in eq "x" or $in eq "X")
{
exit;
}
else
{
&error;
}
}
}
&connect;
sub new_conf
{
system(clear);
system(cls);
print "@logo","\n\n";
print "Irc Server :";
chomp(my $conf_server = <STDIN>);
print "Irc Port [ default : 6667 ]:";
chomp(my $conf_port = <STDIN>);
print "Irc Channel :";
chomp(my $conf_channel = <STDIN>);
print "Irc B0tNick [ default : L0g_b0t ]:";
chomp(my $conf_nick = <STDIN>);
open(WRITE,'>',"config.txt") or die "Cannot write config.txt :(";
print WRITE "$conf_server","\n";
print WRITE "$conf_port","\n";
print WRITE "$conf_channel","\n";
print WRITE "$conf_nick","\n";
close(WRITE);
system(clear);
system(cls);
print "@logo","\n";
print "Bitte B0t neustarten...","\n";
exit;
}
sub connect
{ # &connect begin
open(READ,'<',"config.txt")or die "Cannot read config.txt :(";
chomp(my $server = <READ>);
chomp(my $port = <READ>);
chomp(my $channel = <READ>);
chomp(my $nick = <READ>);
close(READ);
print "=> Connecting $server","\n";
my $sock = new IO::Socket::INET(PeerAddr => $server,
PeerPort => $port,
Proto => 'tcp' ) or die "Can`t connect to $server on Port $port\n";
print "=> Connected, joining $channel","\n";
print $sock "NICK $nick\r\n";
print $sock "USER $nick 1 1 1 1\r\n";
print $sock "JOIN $channel\r\n";
print "=> $channel joined","\n";
print "=> Ready to l0g s0me sh1t =D ","\n";
my $time = localtime();
open(LOG,'>',"$channel.txt") or die "Cannot write Log :(";
print LOG "----------------------------------------------------------------","\n";
print LOG " Created with L0g.b0t $version on $time ","\n";
print LOG "----------------------------------------------------------------","\n\n\n";
close(LOG);
sleep(3);
system(clear);
system(cls);
print "@logo","\n\n";
while(my $input = <$sock>)
{ # while begin
chomp($input);
if ( $input =~ /^PING(.*)$/i)# Ping Pong
{
print $sock "PONG $1\r\n";
}
else
{
print "$input","\n";
}
if ($input =~ /\ PRIVMSG $channel/i)
{ # if start
open(LOG,'>>',"$channel.txt") or die "Cannot write Log :(";
my ($name, $text) = ('', '');
if( $input=~/^:(\w+)!.+?:(.+)$/i )
{
($name, $text) = ($1, $2);
}
print LOG "<$name> ","$text","\n";
} # if end
close(LOG);
if($input =~ /\::quit/i)
{
close(LOG);
print $sock "QUIT\r\n";
}
} # while end
}# &connect end