Hej
Jag håller på med en irc bot som är skriven i php. Jag kommer in på olika nät som jag vill, ex quakenet. Där lyckas jag även hålla kvar boten samt jag kan få den att lämna nätet via ett kommandon.
Nu har jag dock ett par problem. Hur ska jag göra för att bara jag ska kunna styra boten? Jag vet att jag måste sätta så att endast min host är tillåten och att hosten måste vara i formatet :n!i@h. Ex. :Qimen!qimen@adress.nu
Scriptet jag har ser ut så här:
<?php
ini_set("output_buffering",0);
ini_set('max_execution_time', 0);
/* ======================
Variablar
====================== */
$NICK = 'PixelWorld';
$IDENT = 'pw';
$CHANNEL = '#PixelWorld-dev';
/* ======================
Funktion
====================== */
function pw($input) {
global $fp;
fputs($fp, $input."\r\n\r\n");
}
function pong($id) {
global $CHANNEL, $fp, $firstPING;
fputs($fp, "PONG ".$id."\r\n\r\n");
if ($firstPING <= 1) {
fputs($fp, "JOIN $CHANNEL\r\n\r\n");
}
}
/* ======================
Kontakt
====================== */
$fp = fsockopen ("irc.quakenet.org", 6667, $errno, $errstr, 30);
if (!$fp) {
die("$errstr ($errno)<br>\n");
}
pw("USER $NICK $NICK $NICK :$NICK");
pw("NICK $NICK $IDENT");
/* ======================
Abooo...
====================== */
$firstPING = 0;
while (!feof($fp)&&!$eof) {
$msg = str_replace("\n", "", str_replace("\r", "", fgets ($fp,2048)));
if (strtoupper(substr($msg, 0, 4)) == 'PING') {
$firstPING++;
$pID = substr($msg, 6);
pong($pID);
} else if (substr($msg, -8) == '!pw quit') {
pw("QUIT :");
} else if (substr($msg, -8) == '!pw join') {
pw("JOIN #PixelWorld");
}
echo $msg.'<br />';
}
fclose($fp);
?>
Nu kan alla styra den med kommandona !pw join och !pw quit. Vilket jag måste förhindra. :l
Några ideer? :)