ok.. e' una cazzata come programma .... ma e' stato divertente per passare un po' di tempo in cui mi annoiavo ..
CMSbot: creare un (semplice xD) sito web usando un bot irc... per ora e' version alpha 0.0.1 .. poi decidero' se continuare o no
Nopaste (syntax highlighting) : http://sprunge.us/TMMb?pl
Code:
[ot]
[/ot]
(bisogna inserire su show.php e index.php il nome della tabella (variabile $article)
la grafica in php fa schifo (non sono affatto bravo xD) quindi se qualcuno ha qualche idea per renderlo un po' piu' decente ben venga... (in allegato.. e' il mio primo lavoretto in php quindi se ho fatto qualche cazzata perdonatemi )
critiche & suggerimenti al codice graditi
enjoy
ps: la funzione per l'upload su zshare ce l'aveva Lepa gia' pronta quindi ho usato la sua
CMSbot: creare un (semplice xD) sito web usando un bot irc... per ora e' version alpha 0.0.1 .. poi decidero' se continuare o no
Nopaste (syntax highlighting) : http://sprunge.us/TMMb?pl
Code:
[ot]
Codice:
# CMS/IRC Bot
# Create Your Own Website Using An Irc Bot!
# by yawn
# License: GNU/GPL v3
use IO::Socket;
use Archive::Tar;
use DBI;
use WWW::Mechanize;
use warnings;
my $pwds="boot";
my $irc= "irc.blacklight.gotdns.org";
my $chan= "#prova";
my $nick = "CMSbot";
my $socket= IO::Socket::INET -> new(PeerAddr=> $irc,
PeerPort=> 6667,
Proto=>'tcp',
) or die "Cannot Connect To Server\n";
print $socket "NICK $nick\r\n";
print $socket "USER $nick: $nick $nick $nick $nick $nick $nick $nick $nick\r\n";
print $socket "JOIN $chan\r\n";
print $socket "PRIVMSG $chan :Hi, CMSbot's here to serve you!\r\n";
print $socket "PRIVMSG $chan :.help for a help menu\r\n";
while ($sv= <$socket>) {
print $sv;
if ($sv =~ m/PING (:.*)/) {
print $socket "PONG ".$1;
}
if ($sv =~ /:(.*?)!/) {
$user= $1;
}
if ($sv =~ m/JOIN/) {
print $socket "PRIVMSG $chan :Welcome $user\r\n" if ($user ne $nick);
}
if ($sv =~ m/.help/) {
if ($user ne "CMSbot") {
print $socket "PRIVMSG $user :CMSbot's help desk\r\n";
print $socket "PRIVMSG $user :[+] .create <site_name>:<article_name>:<article_text>-> creates an article\r\n";
print $socket "PRIVMSG $user :[+] .upload <site_name> -> uploads the site tar archive to zShare\r\n";
print $socket "PRIVMSG $user :[+] .die <password> -> kills the bot\r\n";
}
}
if ($sv =~/.create (\w+) (\w+) (.*)/) {
my $nama=$1;
my $txt=$3;
my $tit= $2;
my $con=DBI->connect("DBI:CSV:");
$con->do( "CREATE TABLE $nama (id INTEGER NOT NULL, txt TEXT, title TEXT)");
my $lol = $nama;
$lol =~ s/^\s+//;
$lol =~ s/\s+$//;
my $asd= `tail -n 1 $lol`;
if ($asd=~ /(.*),(.*)/) {
$idx= $1;
$idx++;
}
$con->do( "INSERT INTO $nama VALUES (".$idx.", ". $con->quote ($txt) . ",". $con->quote($tit).")");
print $socket "PRIVMSG $user :Article $tit was successfully created! :D\r\n";
$con->disconnect;
}
if($sv =~m/.upload (\w+)/) {
my $namez= $1;
chomp($namez);
$zip= Archive::Tar->new();
$zip->add_files('index.php','template.css','show.php');
$zip->add_files($namez);
my $filez= $namez.".tar";
$zip->write($filez);
my $ua = new WWW::Mechanize;
$ua->agent_alias ( 'Windows Mozilla' );
$ua -> get ("http://zshare.net/");
$ua -> form_number (1);
$ua -> field ( "file" => $filez );
$ua -> click();
if ( $ua -> success() )
{
my $content = $ua -> content();
if ($content =~ m[(http://www\.zshare\.net/download/.+?/)] ) {
print $socket "PRIVMSG $user :Download URL for your website is: $1\r\n";
}
} else {
die "Error while getting the page";
}
}
if($sv =~/.die (\w+)/) {
print $socket "PRIVMSG $chan :Adios :'(\r\n";
exit() if ($1 eq $pwds);
}
}
(bisogna inserire su show.php e index.php il nome della tabella (variabile $article)
la grafica in php fa schifo (non sono affatto bravo xD) quindi se qualcuno ha qualche idea per renderlo un po' piu' decente ben venga... (in allegato.. e' il mio primo lavoretto in php quindi se ho fatto qualche cazzata perdonatemi )
critiche & suggerimenti al codice graditi
enjoy
ps: la funzione per l'upload su zshare ce l'aveva Lepa gia' pronta quindi ho usato la sua