* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation, either version 3 of the License, or *
* (at your option) any later version. *
- * *
+ * *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
************************************************************************
- *
+ *
* Bots/PulseBot.class.php
*
* WhatPulse bot...
private $pulsebot;
private $cache = array();
private $db = array();
-
+
const TEAM_ID = 19418;
-
+
public function load($uplink, $old = false) {
$this->uplink = $uplink;
if(!$old) {
ModCMD::bind($this, BIND_JOIN, "recive_join");
ModCMD::bind($this, BIND_QUIT, "recive_quit");
}
-
+
public function unload($rehash = false) {
if($rehash) {
return $this->pulsebot;
$this->uplink->delUser($this->pulsebot, "Bye.");
}
}
-
+
public function readDB($db) {
$this->db = $db;
}
-
+
public function writeDB() {
return $this->db;
}
-
+
private function getStats() {
if(array_key_exists("stats", $this->cache) && time() - $this->cache['stats_time'] < 300) {
//use cached stats
}
return $stats;
}
-
+
private function getUserStats($name) {
if(array_key_exists("ustats_".strtolower($name), $this->cache) && time() - $this->cache['ustats_'.strtolower($name).'_time'] < 300) {
//use cached stats
}
return null;
}
-
+
private function botOppedOnChannel($channel) {
$privs = $channel->getUserPrivs($this->pulsebot);
return ($privs & P10_Channel::USERPRIV_OPED);
}
-
+
function recive_privmsg($user, $channel, $message) {
if(!$this->botOppedOnChannel($channel)) return;
$privs = $channel->getUserPrivs($user);
}
}
if(!$f)
- $this->uplink->notice($this->pulsebot, $user, "WhatPulse user '".$exp[1]."' is not added.");
+ $this->uplink->notice($this->pulsebot, $user, "WhatPulse user '".$exp[1]."' is not added.");
break;
case ".users":
$table = new Table(5);
$lines = $table->end();
foreach($lines as $line) {
if(count($exp) > 1)
- $this->uplink->privmsg($this->pulsebot, $channel, $line);
+ $this->uplink->privmsg($this->pulsebot, $channel, $line);
else
- $this->uplink->notice($this->pulsebot, $user, $line);
+ $this->uplink->notice($this->pulsebot, $user, $line);
}
break;
case ".mypulse":
break;
}
}
-
+
public function recive_join($user, $channel, $isBurst) {
if(!$this->botOppedOnChannel($channel)) return false;
if(!($auth = $user->getModes()->hasMode('r'))) return;
$this->uplink->privmsg($this->pulsebot, $channel, "WhatPulse User \002".$pulseUser->MemberName."\002 (\002".number_format(floatval($pulseUser->MemberKeys),0,',','.')."\002 keys and \002".number_format(floatval($pulseUser->MemberClicks),0,',','.')."\002 clicks) has joined the channel.");
}
}
-
+
public function recive_quit($user, $reason) {
if($user === $this->pulsebot) {
$this->load($this->uplink);