X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=app%2FTwitchBot%2FChatCommand.php;h=f2e11b61dd4bda83c4eb89652eb9aed7aa4fb34e;hb=a45390fd150b79014088b343591dc701dfe89c13;hp=feea8abf92386c0a6cd1fa1cee66bd55dfeb95c0;hpb=cde5d79cf2f09d61fa7b181cd3a1a19050a4aeb3;p=alttp.git diff --git a/app/TwitchBot/ChatCommand.php b/app/TwitchBot/ChatCommand.php index feea8ab..f2e11b6 100644 --- a/app/TwitchBot/ChatCommand.php +++ b/app/TwitchBot/ChatCommand.php @@ -12,6 +12,21 @@ abstract class ChatCommand { 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; @@ -24,13 +39,33 @@ abstract class ChatCommand { 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); }