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.");
}
}
}
?>