12
[irbot.git] / main.php
blobb49baf8c494c90ccda117027dc3d0296a1e601b2
1 <?php
3 // This page need to be rewrited
5 error_reporting(E_ALL);
7 function debug($set=null) {
8 static $debug;
10 if (!is_null($set)) {
11 $debug = $set;
12 } else {
13 return $debug ? true : false;
17 debug(true);
19 /**
20 * print_r avec un jolis formatage
22 * @param mix $v
24 function xdump($v) {
25 echo "<pre>\n"; print_r($v); echo "</pre>\n";
28 /**
29 * var_dump avec un jolis formatage
32 function xvdump() {
33 $args = func_get_args();
34 echo "<pre>\n"; call_user_func_array('var_dump',$args); echo "</pre>\n";
37 function backtrace() {
38 $backtrace = debug_backtrace();
39 $err_backtrace = " Backtrace :\n=============\n\r";
40 foreach($backtrace as $t) {
41 $err_backtrace.= 'File : '.((isset($t['file'])) ? $t['file']:'[PHP KERNEL]').((isset($t['line'])) ? ':'.$t['line'] : '') . "\n".
42 'Function : '.$t['function']."\n";
43 if (isset($t['class'])) {
44 $err_backtrace.= 'Class : '.$t['class']."\n";
46 if (isset($t['type'])) {
47 $err_backtrace.= 'Type : '.$t['type']."\n";
49 if (isset($t['args']) && !empty($t['args'])) {
50 $err_backtrace.= '--== Args ==--'."\n";
51 ob_start();
52 var_dump($t['args']);
53 $err_backtrace.= "\t".str_replace("\n","\n\t",ob_get_contents());
54 ob_end_clean();
56 $err_backtrace.= "\n\n- - - - - - - - - - - - -\n\r";
58 return $err_backtrace;
61 // Arguments passés à la ligne de commande
62 if ( isset($argv[1], $argv[2], $argv[3], $argv[4]) ) {
63 $server = $argv[1] ;
64 $port = (int) $argv[2] ;
65 $chan = '#' . $argv[3] ;
66 $name = $argv[4] ;
67 } else {
68 $server = 'multimud.homeip.net';
69 $port = 6667;
70 $chan = '#projet_mud';
71 $name = 'RPGBot';
74 require_once('./sources/IRCMain-class.inc.php');
75 require_once('./sources/IRCConn-class.inc.php');
76 require_once('./sources/TextFormat-class.inc.php');
78 while (0) {
79 // Nouvelle instance de la classe IRCMain
80 $MainProc = new IRCMain($server, $port, $chan, $name, '127.0.0.1','xrogaan.be');
82 // On charge les plugins que l'on souhaite
83 $MainProc -> load_plugin('sample');
84 $MainProc -> load_plugin('jet');
86 // On lance le bot
87 switch( $MainProc -> run() ) {
88 case 0:
89 die("Process terminating...\n");
90 break;
91 case 1: // SIGHUP restart
92 echo "Processe restarting ...";
93 continue 2;
94 case 3: // SIGQUIT
95 die("End from client...\n");
96 break;
97 case 'TIMEOUT':
98 continue 2;