php irc bot mysql connect werkt niet....

Status
Niet open voor verdere reacties.

xvilo

Gebruiker
Lid geworden
14 dec 2008
Berichten
492
haiiiiiii.....
ik ben nu bezig met het maken van een php irc bot!
dit is mijn code:
PHP:
<?php



//Configuratie:
$config = array(
"host" => "irc.rizon.net", //De irc server
"port" => 6667, //Poort om te verbinden met de server
"nickname" => "p0is0n", //Nickname van je bot
"realname" => "p0is0n", //Realname van je bot
"usermode" => 0, //Usermode, laat maar gewoon op 0 staan
"username" => "p0is0n", //Username van je bot
"channel" => "#DPB", //Channel waar de bot in moet joinen
"password" => "pasSsSsS1234567891011121314" //Identificeren voor NickServ
);


require("pear/SmartIRC.php"); //Haal de SmartIRC class op.

class Bot { //De class van de bot.

    function hoi(&$irc, &$data){ //Functie hoi, wordt geactiveerd als er !hoi in de channel wordt gezegt
        $irc->message(SMARTIRC_TYPE_CHANNEL, $data->channel, "V1.1 beta!"); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
    }
    function qui(&$irc, &$data){ //Functie hoi, wordt geactiveerd als er !hoi in de channel wordt gezegt
        $irc->disconnect(); //Disconnecten van de server
    }
 function st(&$irc, &$data) {
	 $sql_date = "2012-01-06 20:26:65";
	 require_once('humanRelativeDate.class.php');
	 $humanRelativeDate = new HumanRelativeDate();
	 $string = $humanRelativeDate->getTextForSQLDate($sql_date);
       $irc->message(SMARTIRC_TYPE_CHANNEL, $data->channel, $string); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
    }

function sn(&$irc, &$data) {

    require_once('humanRelativeDate.class.php');
    $humanRelativeDate = new HumanRelativeDate();
    $string = $humanRelativeDate->getTextForSQLDate($date_now);
       $irc->message(SMARTIRC_TYPE_CHANNEL, $data->channel, $string); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
    }


    function yt(&$irc, &$data) {
       $xml = simplexml_load_file(file_get_contents('http://ws.audioscrobbler.com/1.0/user/xvilo/recenttracks.rss'));
       $title = $xml->entry[0]->title;
       $yt = "Mijn laatste youtube video is: ".$title;
       $irc->message(SMARTIRC_TYPE_CHANNEL, $data->channel, $yt); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
    }
	
	
    
    function join(&$irc, &$data){
          $zoekopdracht = substr($data->message, 7);
        $zoekopdracht = urlencode($zoekopdracht);
	  $zoekopdracht = "#" .$zoekopdracht;
        $link = "trying to join: " .$zoekopdracht;
        $irc->message(SMARTIRC_TYPE_QUERY, $data->nick, $link);
        $irc->join($zoekopdracht);
    }

 function nn(&$irc, &$data){
         $zoekopdracht = substr($data->message, 7);
        $zoekopdracht = urlencode($zoekopdracht);
	  $zoekopdrachttt = $zoekopdracht;
        $link = "trying to obtain: " .$zoekopdrachttt;
        $irc->message(SMARTIRC_TYPE_QUERY, $data->nick, $link);
        $irc->login($zoekopdracht, $zoekopdracht, $zoekopdracht, $zoekopdracht); //Inloggen

    }

   

	function help(&$irc, &$data){ //Functie hoi, wordt geactiveerd als er !hoi in de channel wordt gezegt
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "jij wilt help he? nou dan kun je dat krijgen :D"); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "     "); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "ik ondersteun op dit moment: !xhelp !google [opdracht] !version !changelog"); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "     "); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "Ik ben nog in ontwikkeling dus er komt meer...."); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "Deze bot is gemaakt door xvilo"); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "     "); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
    }
function nop(&$irc, &$data){ //Functie hoi, wordt geactiveerd als er !hoi in de channel wordt gezegt
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "sorry, maar deze command kun je niet hier gebruiken"); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "     "); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
}

	function clog(&$irc, &$data){ //Functie hoi, wordt geactiveerd als er !hoi in de channel wordt gezegt
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "er zijn op dit moment 2 versies"); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "     "); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "V1.0 - faperdaper"); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "deze release is gelijk aan de release van faperdaper"); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "     "); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "V1.1 - Beta"); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "in deze versie zijn !changelog !xhelp !version !uptime !ipod toegevoegd"); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "commands in ontwikkeling:"); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "!nick - deze zorgt voor het change van de naam van de bot!"); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
    }

function iPod(&$irc, &$data){ //Functie hoi, wordt geactiveerd als er !hoi in de channel wordt gezegt
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "Xvilo is een beetje verdrietig"); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "dit komt om dat zijn ipod gebroken is :D"); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "wil je het zien!"); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "     "); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "     "); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "nou hier... 2 foto's"); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "     "); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "http://imageshack.us/photo/my-images/708/picture002rx.jpg/"); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "http://imageshack.us/photo/my-images/215/picture001eqy.jpg/"); //Zeg "Hoi!" in de channel waarin het commando werd gebruikt
    }


    function google(&$irc, &$data){
        $zoekopdracht = substr($data->message, 8);
        $zoekopdracht = urlencode($zoekopdracht);
        $link = "http://www.google.nl/search?q=" .$zoekopdracht;
        $irc->message(SMARTIRC_TYPE_CHANNEL, $data->channel, $link);
    }
	
    function dans(&$irc, &$data){
        $zoekopdracht = substr($data->message, 6);
        $zoekopdracht = urlencode($zoekopdracht);
        $link = "9,0æ0,9æ3,9æ9,3æ1,3æ3,1æ9 ~(','~) (~',')~ \('-'\) (/'-')/ \('-'\) (/'-')   for3,1æ1,3æ9,3æ3,9æ0,9æ9,0æ" .$zoekopdracht;
        $irc->message(SMARTIRC_TYPE_CHANNEL, $data->channel, $link);
    }
    


    function groeten(&$irc, &$data){
        if($data->nick == $irc->_nick){
            return;
        }
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "Hey " .$data->nick ."! ");
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "als je niet wilt weten wat ik allemaal kan type dan vooral Z.S.M. !xhelp in");
	  $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "deze bot is gemaakt door: ");
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "    ");
        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "9,0æ0,9æ3,9æ9,3æ1,3æ3,1æ9 xvilo! 3,1æ1,3æ9,3æ3,9æ0,9æ9,0æ");
    
}

function mysqlt(&$irc, &$data){
        if($data->nick == $irc->_nick){
            return;
        }
		        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "mysql testing! is aan het testen ");
		    $link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
             if (!$link) {
             die('Could not connect: ' . mysql_error());
             }
                     $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "oeps er iets iets fout, ");
             mysql_close($link)
}

//Initialisatie:
$bot = &new Bot();
$irc = &new Net_SmartIRC();
$irc->setDebug(SMARTIRC_DEBUG_ALL);
$irc->setLogfile('SmartIRC.log'); //Log file
$irc->setLogdestination(SMARTIRC_FILE);
$irc->setAutoReconnect(true); //Auto reconnect?
$irc->setUseSockets(true);



//Actionhandler. Deze verwijst naar een functie op het moment dat er voldaan wordt aan het criteria in dit geval: !hoi
$irc->registerActionhandler(SMARTIRC_TYPE_CHANNEL, "^!version$", $bot, "hoi");
$irc->registerActionhandler(SMARTIRC_TYPE_CHANNEL, "^!ipod$", $bot, "iPod");
$irc->registerActionhandler(SMARTIRC_TYPE_CHANNEL, "^!iPod$", $bot, "iPod");
$irc->registerActionhandler(SMARTIRC_TYPE_CHANNEL, "^!uptime$", $bot, "st");
$irc->registerActionhandler(SMARTIRC_TYPE_CHANNEL, "^!runtime$", $bot, "sn");
$irc->registerActionhandler(SMARTIRC_TYPE_CHANNEL, "^!youtube$", $bot, "yt");
$irc->registerActionhandler(SMARTIRC_TYPE_QUERY, "^!quite$", $bot, "qui");
$irc->registerActionhandler(SMARTIRC_TYPE_QUERY, "^!join .+$", $bot, "join");
$irc->registerActionhandler(SMARTIRC_TYPE_QUERY, "^!nick .+$", $bot, "nn");
$irc->registerActionhandler(SMARTIRC_TYPE_CHANNEL, "^!join .+$", $bot, "nop");
$irc->registerActionhandler(SMARTIRC_TYPE_CHANNEL, "^!nick .+$", $bot, "nop");
$irc->registerActionhandler(SMARTIRC_TYPE_NOTICE, "^!say .+$", $bot, "say");
$irc->registerActionhandler(SMARTIRC_TYPE_CHANNEL, "^!xhelp$", $bot, "help");
$irc->registerActionhandler(SMARTIRC_TYPE_CHANNEL, "^!changelog$", $bot, "clog");
$irc->registerActionhandler(SMARTIRC_TYPE_CHANNEL, "^!google .+$", $bot, "google");
$irc->registerActionhandler(SMARTIRC_TYPE_CHANNEL, "^!dans .+$", $bot, "dans");
$irc->registerActionhandler(SMARTIRC_TYPE_CHANNEL, "^!mtest .+$", $bot, "mysqlt");
$irc->registerActionhandler(SMARTIRC_TYPE_JOIN, ".*", $bot, "groeten");

    date_default_timezone_set('Europe/Amsterdam');
    $date_now = date('Y-m-d H:i:s');

//Verbinden met de server.
$irc->connect($config["host"], $config["port"]);
$irc->login($config["nickname"], $config["realname"], $config["usermode"], $config["username"]); //Inloggen
$irc->message(SMARTIRC_TYPE_QUERY, "NickServ", "identify " .$config["password"]); //Identificeren
$irc->join($config["channel"]); //Channel joinen
$irc->join("#e7"); //Channel joinen
$irc->join("#xvilo"); //Channel joinen
$irc->join("#botsz"); //Channel joinen
$irc->listen(); //Luisteren
$irc->disconnect(); //Disconnecten van de server
?>

let maar niet op de //bla bla bla. bij de functions omdat het meeste gekopieerd en geplakt is......

nu heb ik dus:
PHP:
function mysqlt(&$irc, &$data){
        if($data->nick == $irc->_nick){
            return;
        }
		        $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "mysql testing! is aan het testen ");
		    $link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
             if (!$link) {
             die('Could not connect: ' . mysql_error());
             }
                     $irc->message(SMARTIRC_TYPE_NOTICE, $data->nick, "oeps er iets iets fout, ");
             mysql_close($link)
}

alleen geeft ie een fout aan in de laatste regel:
unexpected "}"

wat moet ik nu doen?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan