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:
let maar niet op de //bla bla bla. bij de functions omdat het meeste gekopieerd en geplakt is......
nu heb ik dus:
alleen geeft ie een fout aan in de laatste regel:
unexpected "}"
wat moet ik nu doen?
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?