Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl
- use strict;
- use warnings;
- use IO::Socket;
- use LWP::UserAgent;
- use Encode;
- #ตั้งค่าบอท
- my $server = "irc.pong-host.com"; #เซิฟเวอร์ IRC นะครับ
- my $login = "Boom_Bot"; #username นะแหละ
- my $owner = "Bongtrop"; #ชื่อเจ้าของเอาไว้สั่งครับ
- my $channel = "#Bongtrop"; #ห้องของห้อง
- my $shell="http://103.22.180.158/bot_boom.php";
- my $nick;
- my $pid=fork();
- my $thr=0;
- #เชื่อมต่อ
- my $sock = new IO::Socket::INET(PeerAddr => $server,
- PeerPort => 6667,
- Proto => 'tcp') or
- die "ไม่สามารถเชื่อมต่อได้\n";
- if ($pid) {
- $nick="BotBoom_Command";
- }
- elsif ($pid==0) {
- $nick="BotBoom_Run";
- } else {
- print $sock "PRIVMSG ",$channel," :[-] MultiProcress Error\r\n";
- }
- my $ua = LWP::UserAgent->new();
- $ua->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; en; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4");
- #function Save LOG
- sub saveLOG {
- open LOG,">>log.txt";
- (my $str,my $own)=@_;
- if ($str eq "START") {
- $str="Procress in ".localtime." by ".$own."\n";
- }
- elsif ($str eq "END") {
- $str="------------------------END PROCRESS------------------------\n\n";
- }
- $str = encode("utf-8", decode("tis-620", $str));
- print LOG $str;
- close LOG;
- }
- my $firstID;
- #function SMF
- sub smf {
- saveLOG("START","Bot");
- my $url="http://picpost.mthai.com/category/sexy-girl";
- print $sock "PRIVMSG ",$channel," :7[+] เริ่มทำการดึงจากเว็บ $url\r\n";
- saveLOG("[+] เริ่มทำการดึงจากเว็บ $url\n");
- my $respone=$ua->get($url);
- my @line=split(/\n/,$respone->content);
- my $c=0;
- foreach (@line) {
- if ((my $id)=$_=~/<h4><a href=\"\/view\/(.*)\" title=/) {
- my $lastid;
- open INFILE,"id.txt";
- while (<INFILE>) {
- chomp;
- $lastid=$_;
- }
- close INFILE;
- if ($lastid eq $id) {
- print $sock "PRIVMSG ",$channel," :4[-] ไม่พบหัวข้อ Picpost ใหม่ฮะ\r\n";
- saveLOG ("[-] ไม่พบหัวข้อ Picpost ใหม่ฮะ\n","Bot");
- last;
- }
- if ($c==0) {
- open OUTFILE,">id.txt";
- print OUTFILE $id;
- close OUTFILE;
- }
- $url="http://picpost.mthai.com/view/".$id;
- $respone=$ua->get($url);
- my ($subject)=$respone->content=~/<title>(.*) \| picpost/;
- my @line2=split(/\n/,$respone->content);
- my $outsj = encode("tis-620", decode("utf-8", $subject));
- print $sock "PRIVMSG ",$channel," :7[-] พบหัวข้อ Picpost $outsj ไอดี $id\r\n";
- saveLOG ("[-] พบหัวข้อ Picpost $outsj ไอดี $id\n","Bot");
- my $body="<center>";
- foreach (@line2) {
- if ((my $pic)=$_=~/<a href=\"\/pic\/$id\/(.*)\" class=\"fullsize\"/) {
- $body.='<img src="http://picpost.mthai.com/pic/'.$id.'/'.$pic.'"><br>';
- }
- }
- $body.='</center>';
- if ($subject=~/Page not found/ or $subject eq "" or $body eq "" or $body=~/Page not found/) {
- print $sock "PRIVMSG ",$channel," :4[-] เว็บ Mthai มีปัญหาเลยลามมาหากระปมเลย ><\r\n";
- saveLOG ("[-] เว็บ เดลินิวมีปัญหาเลยลามมาหากระปม ><\n","Bot");
- last;
- }
- $respone = $ua->post($shell,["subject"=>$subject,"body"=>$body,"idBoard"=>3]);
- print $sock "PRIVMSG ",$channel," :7[+] อัพโหลดสู่ SMF ".$respone->content."\r\n";
- saveLOG ("[+] อัพโหลดสู่ SMF ".$respone->content."\n","Bot");
- $c++;
- }
- }
- print $sock "PRIVMSG ",$channel," :7[+] รอสักครู่จะรันอีกทีนะฮะ ทำเรื่อยๆเดียวโดนบ๊อก\r\n";
- saveLOG ("[+] รอสักครู่จะรันอีกทีนะฮะ ทำเรื่อยๆเดียวโดนบ๊อก\n","Bot");
- saveLOG ("END","Bot");
- }
- print $sock "NICK $nick\r\n";
- print $sock "USER $login 8 * :I'm botSMF\r\n";
- while (my $input = <$sock>) {
- if ($input =~ /004/) {
- last;
- }
- elsif ($input =~ /433/) {
- die "4[-] ชื่อถูกใช้ไปแล้ว";
- }
- }
- #เข้าสู่ห้อง
- print $sock "JOIN $channel\r\n";
- my $count=0;
- if ($pid) {
- while (my $input = <$sock>) {
- chop $input;
- chop $input;
- #ส่งค่ากลับเมื่อมีการ ping มา จาก server
- if ($input=~/PING/) {
- (my $pong)=$input=~m/PING (.*)/;
- print $sock 'PONG '.$pong." : \r\n";
- if ($thr==1 and $count>10) {
- $count=0;
- print $sock "PRIVMSG ",$channel," :12[+] กำลังเริ่มสั่งให้มันรัน อาจจะสั่งงานไม่ได้ซัก 2-5 วินาที รอแปปนะ\r\n";
- sleep 3;
- print $sock "PRIVMSG ",$channel," :9qcp34iwfipoj230cjaesff323r0ijasdfj2r0irskfjasv\r\n";
- }
- $count++;
- }
- if ($input=~/^\:$owner\!/ or $input=~/^\:thejestei2\!/) {
- (my $own)=$input=~/^\:(.*)\!/;
- saveLOG("START",$own);
- saveLOG($input."\n",$own);
- saveLOG("END",$own);
- if ($input=~/ปิดระบบ/) {
- print $sock "PRIVMSG ",$channel," :4[-] เริ่มทำการปิดระบบ\r\n";
- kill 'KILL' => $pid;
- last;
- }
- if ($input=~/ทดสอบ/) {
- print $sock "PRIVMSG ",$channel," :3เรียบร้อยทุกอย่างฮะ >< \r\n";
- }
- if ($input=~/ถอย/) {
- $thr=0;
- print $sock "PRIVMSG ",$channel," :4[-] สั่งให้บอทหยุดดึงเรียบร้อยแล้วฮะ \r\n";
- }
- if ($input=~/กี่cแล้ววะแม้ง/) {
- print $sock "PRIVMSG ",$channel," :4[!] อย่าพึ่งโกรธสิฮะ ตอนนี้ $count c แล้วฮะจักกะแปปป\r\n";
- }
- if ($input=~/คำสั่ง/) {
- print $sock "PRIVMSG ",$channel," :12[+] มีคำสั่ง 6 คำสั่ง\r\n";
- print $sock "PRIVMSG ",$channel," :\r\n";
- print $sock "PRIVMSG ",$channel," :3 1) ลุย ใช้เริ่มทำงาน\r\n";
- print $sock "PRIVMSG ",$channel," :3 2) สถานะ ตรวจสอบสถานะ Bot\r\n";
- print $sock "PRIVMSG ",$channel," :3 4) ไอดี ใช้ตรวจสอบไอดีล่าสุดของข่าว\r\n";
- print $sock "PRIVMSG ",$channel," :3 5) แก้ไอดี ใช้สำหรับแก้ไขไอดีล่าสุดของข่าว\r\n";
- print $sock "PRIVMSG ",$channel," :3 5) ถอย ใช้หยุดการทำงาน Bot ไม่ให้ดึงข่าว\r\n";
- print $sock "PRIVMSG ",$channel," :3 6) ล๊อก ใช้สำหรับเช๊คล๊อกว่ามะอะไรเปลี่ยนแปลงไปบ่าง\r\n";
- print $sock "PRIVMSG ",$channel," :3 7) ลบล๊อก ใช้สำหรับเคลียล๊อกที่ผ่านมา\r\n";
- print $sock "PRIVMSG ",$channel," :3 8) ปิดระบบ ใช้ออกจาก IRC\r\n";
- }
- if ($input=~/ลุย/) {
- print $sock "PRIVMSG ",$channel," :9qcp34iwfipoj230cjaesff323r0ijasdfj2r0irskfjasv\r\n";
- print $sock "PRIVMSG ",$channel," :12[+] สั่งงาน BotSMF_Run เรียบร้อยแล้ว\r\n";
- $thr=1;
- }
- if ($input=~/ลบล๊อก/) {
- unlink("log.txt");
- print $sock "PRIVMSG ",$channel," :12[+] ลบล๊อกสำเร็จแล้วฮะ ><\r\n";
- }
- elsif ($input=~/ล๊อก/) {
- print $sock "PRIVMSG ",$channel," :12[+] ไฟย์ล๊อก ก็ ไฟย์ log.txt ดูด้านข้าง";
- }
- if ($input=~/สถานะ/) {
- if ($thr==0) {
- print $sock "PRIVMSG ",$channel," :4[-] Bot ยังไม่ได้เริ่มทำงาน\r\n";
- } else {
- print $sock "PRIVMSG ",$channel," :12[+] Bot กำลังทำงานอยู่\r\n";
- }
- }
- if ((my $idedit)=$input=~/แก้ไอดีเป็น (.*)/) {
- open OUTFILE,">id.txt";
- print OUTFILE $idedit;
- close OUTFILE;
- print $sock "PRIVMSG ",$channel," :12[+] ทำการแก้ไอดีเป็น $idedit เสร็จแล้ว\r\n";
- }
- elsif ($input=~/ไอดี/) {
- open INFILE,"id.txt";
- my $sid;
- while (<INFILE>) {
- $sid=$_;
- }
- close INFILE;
- print $sock "PRIVMSG ",$channel," :12[+] ไอดีล่าสุดคือ $sid\r\n";
- }
- }
- }
- }
- elsif ($pid==0) {
- while (my $input = <$sock>) {
- chop $input;
- chop $input;
- if ($input=~/PING/) {
- (my $pong)=$input=~m/PING (.*)/;
- print $sock 'PONG '.$pong." : \r\n";
- }
- if ($input=~/^\:BotBoom_Command\!/) {
- if ($input=~/9qcp34iwfipoj230cjaesff323r0ijasdfj2r0irskfjasv/) {
- smf();
- }
- }
- }
- } else {
- print $sock "PRIVMSG ",$channel," :4[-] MultiProcress Error\r\n";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement