All pastes #639532 Raw Edit

Someone

public text v1 · immutable
#639532 ·published 2007-07-30 17:11 UTC
rendered paste body
<?php
#include("statslookup.php");
#include("pricelookup.php");
include("rscript.php");
include("weather.php");
include("rh_plug.php");
$config=array();
$t=0;
$config['server']='irc.rscript.org';
$config['nick']='[dev]wbot'; $cnick=$config['nick'];
$config['port']=6667;
$config['channel']='#stats'; $cchannel=$config['channel'];
$config['name']='dev.wbot'; $cname=$config['name'];
$config['ip']=gethostbyname($config['server']);
$socket=@fsockopen($config['ip'],$config['port']);

function cmd_send($command) {
        global $socket;
        fwrite($socket, $command."\r\n");
        print (date("[H:i:s]") ." -> ". $command. "\r\n");
}
//$ch=array();
//function joinch($chan) {
//      cmd_send("JOIN ");
//}

if ($socket) {
    cmd_send("USER $cnick $cnick $cnick :$cname");
    cmd_send("NICK $cnick");
}
while (!feof($socket)) {
    $buffer=trim(fgets($socket,4096));
    printf("[%s] <- %s\n", date("H:i:s"), $buffer);
    if (preg_match("/376 (.*) :End of \/MOTD command./",$buffer)) {
        cmd_send("JOIN $cchannel");
//      cmd_send("PRIVMSG $cchannel :".chr(2)." snows for mick");
    }
    if(substr($buffer,0,6)=="PING :") {
        $reply=substr($buffer,6);
        cmd_send("PONG :".$reply);
        $t++;
    }
    if (preg_match("/ERROR :Closing Link:/",$buffer)) {
    $socket=@fsockopen($config['ip'],$config['port']);
    cmd_send("USER $cnick $cnick $cnick :$cname");
    cmd_send("NICK $cnick");
    }
    if (preg_match("/PRIVMSG (.*?) :[!@]weather/i",$buffer)) {
        preg_match("/PRIVMSG (.*?) :/",$buffer,$x); $chan=$x[1];
        preg_match("/:(.*?)!(.*?)@(.*?) PRIVMSG (.*) :(.*?)weather/i",$buffer,$x,PREG_OFFSET_CAPTURE);
        $nick=$x[1][0];
        switch($x[5][0]) {
                case "!": $cmd="notice $nick"; break;
                case "@": $cmd="privmsg $chan"; break;
        }
        $wcode=trim(substr($buffer,strpos($buffer,":".$x[5][0]."weather")+10));
        if (!$wcode) {
                $xd=mysql_connect("localhost", "jeremy", $mySecretPassword);   mysql_select_db("jeremy");
                $query=mysql_query("SELECT code FROM wbot WHERE nick = '$nick'");
                if (mysql_num_rows($query)>0) {
                        $qu=mysql_query("SELECT code FROM wbot WHERE nick = '$nick'");
                        $wv=mysql_fetch_row($qu);
        $wx=weather($wv[0]);
        if ($wx == "error") {
                cmd_send("$cmd :Error while looking up weather!");

        } else {
                $ww=explode("\n",$wx);
                cmd_send(sprintf("$cmd :Weather for %s: Right now: %s (Wind Chill: %s F | Wind Speed %s mph)\r\n$cmd :%s | %s", $ww[0], $ww[1], $ww[4], $ww[5], $ww[2], $ww[3]));
        }
                }
                else {
                cmd_send("$cmd :Please specify a zipcode/location id"); }
        } else {
        if (preg_match("/:(.*?)!(.*?)@(.*?) PRIVMSG (.*) :(.*?)weather (.*?) (.*)/",$buffer,$qr)) {
//              print_r($qr);
                if ($qr[6]=="-d") {
//                      echo "helo!";
                       $xd=mysql_connect("localhost", "jeremy", $mySecretPassword) or die(mysql_error());   mysql_select_db("jeremy") or die(mysql_error());
                        $query=mysql_query("SELECT code FROM wbot WHERE nick = '$nick'") or die(mysql_error());
                        if (mysql_num_rows($query)>0) {
                                $qu=mysql_query("UPDATE wbot SET code = '".$qr[7]."' WHERE nick = '$nick'");
                        }
                        else { $qu=mysql_query("INSERT INTO wbot (code, nick) VALUES ('".$qr[7]."','$nick')") or die("Die INSERT".mysql_error()); }
                        cmd_send("$cmd :Your weather code has been updated to $qr[7]");
                }
        }
        else {
        $wcode=str_replace(chr(32),chr(95),$wcode);
//        cmd_send("$cmd :Weather Lookup for: $wcode");
        $wx=weather($wcode);
        if ($wx == "error") {
                cmd_send("$cmd :Error while looking up weather!");

        } else {
                $ww=explode("\n",$wx);
                cmd_send(sprintf("$cmd :Weather for %s: Right now: %s (Wind Chill: %s F | Wind Speed %s mph)\r\n$cmd :%s | %s", $ww[0], $ww[1], $ww[4], $ww[5], $ww[2], $ww[3]));
        }
        }
        }
    }
    if (preg_match("/PRIVMSG (.*?) :[!@]snow/i",$buffer)) {
        preg_match("/PRIVMSG (.*?) :/",$buffer,$x); $chan=$x[1];
        preg_match("/:(.*?)!(.*?)@(.*?) PRIVMSG (.*) :(.*?)snow/i",$buffer,$x,PREG_OFFSET_CAPTURE);
        $nick=$x[1][0];
        $ignList = "@micksam7@";
        if (!preg_match("/\[(.*)\]RuneScript/i",$nick)) {
        cmd_send("PRIVMSG $chan :".chr(1)."ACTION makes snow appear in ".$nick."'s region!");
        }
    }
    if (preg_match("/PRIVMSG (.*?) :[!@]botstats (.*)/i",$buffer,$az)) {
        preg_match("/PRIVMSG (.*?) :/",$buffer,$x); $chan=$x[1];
        preg_match("/:(.*?)!(.*?)@(.*?) PRIVMSG (.*) :(.*?)botstats/i",$buffer,$x,PREG_OFFSET_CAPTURE);
        $nick=$x[1][0];

        switch($x[5][0]) {
                case "!": $cmd="notice $nick"; break;
                case "@": $cmd="privmsg $chan"; break;
        }
                $bot=strtoupper($az[2]);
        $reply=botInfo($bot);
        cmd_send("$cmd :$reply");
    }
   if (preg_match("/PRIVMSG (.*?) :[!@]sysinfo (.*)/i",$buffer,$az)) {
        preg_match("/PRIVMSG (.*?) :/",$buffer,$x); $chan=$x[1];
        preg_match("/:(.*?)!(.*?)@(.*?) PRIVMSG (.*) :(.*?)sysinfo/i",$buffer,$x,PREG_OFFSET_CAPTURE);
        $nick=$x[1][0];

        switch($x[5][0]) {
                case "!": $cmd="notice $nick"; break;
                case "@": $cmd="privmsg $chan"; break;
        }
        $system=$az[2];
        $reply=sysInfo($system);
        cmd_send("$cmd :$reply");
   }
   if (preg_match("/PRIVMSG (.*?) :[!@]rhprice (.*)/i",$buffer,$az)) {
        preg_match("/PRIVMSG (.*?) :/",$buffer,$x); $chan=$x[1];
        preg_match("/:(.*?)!(.*?)@(.*?) PRIVMSG (.*) :(.*?)rhprice/i",$buffer,$x,PREG_OFFSET_CAPTURE);
        $nick=$x[1][0];

        switch($x[5][0]) {
                case "!": $cmd="notice $nick"; break;
                case "@": $cmd="privmsg $chan"; break;
        }
        $item=$az[2];
        $reply=price($item);
        cmd_send("$cmd :$reply");
   }
   if (preg_match("/PRIVMSG (.*?) :[!@]title (.*)/i",$buffer,$az)) {
        preg_match("/PRIVMSG (.*?) :/",$buffer,$x); $chan=$x[1];
        preg_match("/:(.*?)!(.*?)@(.*?) PRIVMSG (.*) :(.*?)title/i",$buffer,$x,PREG_OFFSET_CAPTURE);
        $nick=$x[1][0];

        switch($x[5][0]) {
                case "!": $cmd="notice $nick"; break;
                case "@": $cmd="privmsg $chan"; break;
        }
        $url=$az[2];
        $contents=file_get_contents("$url");
        if ($contents) {
                if (preg_match("/<title>(.*)<\/title>/i",$contents,$match)) {
        cmd_send("$cmd :Title for $url: $match[1]");
                } else { cmd_send("$cmd :No title found on $url");
        } }
        else {
                cmd_send("$cmd :Sorry, that page is not available.");
        }
   }
}
?>