case 'crew':
$cmd = new CrewCommand();
break;
+ case 'guessing-cancel':
+ $cmd = new GuessingCancelCommand();
+ break;
+ case 'guessing-leaderboard':
+ $cmd = new GuessingLeaderboardCommand();
+ break;
+ case 'guessing-solve':
+ $cmd = new GuessingSolveCommand();
+ break;
+ case 'guessing-start':
+ $cmd = new GuessingStartCommand();
+ break;
+ case 'guessing-stop':
+ $cmd = new GuessingStopCommand();
+ break;
case 'runner':
$cmd = new RunnerCommand();
break;
return $cmd;
}
+ public function checkAccess(IRCMessage $msg) {
+ $restrict = $this->getStringConfig('restrict', 'none');
+ if ($restrict == 'owner') {
+ return $msg->isOwner();
+ }
+ if ($restrict == 'mod') {
+ return $msg->isMod();
+ }
+ return true;
+ }
+
public abstract function execute($args);
protected function getBooleanConfig($name, $default = false) {
return array_key_exists($name, $this->config) ? $this->config[$name] : $default;
}
+ protected function getStringConfig($name, $default = '') {
+ return array_key_exists($name, $this->config) ? $this->config[$name] : $default;
+ }
+
+ protected function listAnd($entries) {
+ return $this->channel->listAnd($entries);
+ }
+
protected function messageChannel($str) {
+ if (empty($str)) return;
$msg = IRCMessage::privmsg($this->channel->twitch_chat, $str);
$this->bot->sendIRCMessage($msg);
}