From: pk910 Date: Thu, 28 Jul 2011 11:35:07 +0000 (+0200) Subject: added default CTCP replies X-Git-Url: http://git.pk910.de/?p=PHP-P10.git;a=commitdiff_plain;h=1f431a1b35909bbb709f6614899877b33428fe43 added default CTCP replies --- diff --git a/Bots/ModManager.class.php b/Bots/ModManager.class.php index 29f3302..318b11d 100644 --- a/Bots/ModManager.class.php +++ b/Bots/ModManager.class.php @@ -47,6 +47,7 @@ class {$_NAME} extends Bot { ModCMD::bind($this, BIND_CHANMSG, "recive_privmsg"); ModCMD::bind($this, BIND_QUIT, "recive_quit"); + ModCMD::bind($this, BIND_CTCP, "recive_ctcp"); } public function unload($rehash = false) { @@ -57,7 +58,7 @@ class {$_NAME} extends Bot { } } - function recive_privmsg($user, $channel, $message) { + public function recive_privmsg($user, $channel, $message) { if(!$user->getModes()->hasMode('o')) return 0; $exp=explode(" ",$message); switch (strtolower($exp[0])) { @@ -109,11 +110,30 @@ class {$_NAME} extends Bot { } } - function recive_quit($user, $reason) { + public function recive_quit($user, $reason) { if($user === $this->modman) { $this->load($this->uplink); } } + + public function recive_ctcp($user, $target, $command, $text, $publicCtcp) { + if(!$publicCtcp) { + switch($command) { + case"PING": + $this->uplink->ctcp_reply($target, $user, "PONG", $text); + break; + case"VERSION": + $this->uplink->ctcp_reply($target, $user, "VERSION", "PHP-P10 Pack by pk910. Source: http://devserv.pk910.de/git/?p=PHP-P10.git"); + break; + case"TIME": + $this->uplink->ctcp_reply($target, $user, "TIME", date('r')); + break; + case"FINGER": + $this->uplink->ctcp_reply($target, $user, "FINGER", "PHP-P10 Pack (C) ".date('Y')." pk910. Visit us on irc://irc.webgamesnet.net/PHP"); + break; + } + } + } } ?> \ No newline at end of file diff --git a/ModCMD/ModCMD.class.php b/ModCMD/ModCMD.class.php index 82ee956..f07e7b0 100644 --- a/ModCMD/ModCMD.class.php +++ b/ModCMD/ModCMD.class.php @@ -175,16 +175,16 @@ class ModCMD implements EventHandler { $this->event(BIND_CTCP, array($user, $channel, $command, $text, true)); } - public function event_chanctcpreply($user, $target, $command, $text) { + public function event_chanctcpreply($user, $channel, $command, $text) { $this->event(BIND_CTCPREPLY, array($user, $channel, $command, $text, true)); } public function event_privctcp($user, $target, $command, $text) { - $this->event(BIND_CTCP, array($user, $channel, $command, $text, false)); + $this->event(BIND_CTCP, array($user, $target, $command, $text, false)); } public function event_privctcpreply($user, $target, $command, $text) { - $this->event(BIND_CTCPREPLY, array($user, $channel, $command, $text, false)); + $this->event(BIND_CTCPREPLY, array($user, $target, $command, $text, false)); } public function event_away($user, $away) { diff --git a/Uplink/Uplink.class.php b/Uplink/Uplink.class.php index 9d88ae5..5e1e1ee 100644 --- a/Uplink/Uplink.class.php +++ b/Uplink/Uplink.class.php @@ -984,7 +984,13 @@ class Uplink { } } + public function ctcp($user, $target, $command, $text) { + return $this->privmsg($user, $target, "\001".strtoupper($command)." ".$text."\001"); + } + public function ctcp_reply($user, $target, $command, $text) { + return $this->notice($user, $target, "\001".strtoupper($command)." ".$text."\001"); + } }