X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=app%2FTwitchBot%2FTwitchAppBot.php;h=13499f5d46b38d5913e3994e43ce09dc43250a15;hb=e5192dadab765ecf0cdb877e0497293e0c9f1e45;hp=ce0f75112558563f9cf7f8e7866082e50bc850e9;hpb=06fbdc15c8db57590c9b6a38ee1f00d5f349cff9;p=alttp.git diff --git a/app/TwitchBot/TwitchAppBot.php b/app/TwitchBot/TwitchAppBot.php index ce0f751..13499f5 100644 --- a/app/TwitchBot/TwitchAppBot.php +++ b/app/TwitchBot/TwitchAppBot.php @@ -18,11 +18,25 @@ class TwitchAppBot extends TwitchBot { public function handlePrivMsg(IRCMessage $msg) { $target = $msg->getPrivMsgTarget(); if ($target[0] != '#') return; // direct message - $text = $msg->getText(); - if ($text[0] != '!') return; $channel = $this->getMessageChannel($msg); if (!$channel) return; - $this->handleChatCommand($channel, $msg); + $text = $msg->getText(); + if ($text[0] == '!') { + $this->handleChatCommand($channel, $msg); + } else if ( + $channel->isAcceptingGuesses() && + !empty($msg->tags['user-id']) && + !empty($msg->tags['display-name'] && + $channel->isValidGuess($text)) + ) { + $uid = 't:'.$msg->tags['user-id']; + $uname = $msg->tags['display-name']; + try { + $channel->registerGuess($uid, $uname, $text); + } catch (\Exception $e) { + $this->getLogger()->warning('error registering guess "'.$text.'" on channel '.$channel->title.': '.$e->getMessage()); + } + } } public function handleChatCommand(Channel $channel, IRCMessage $msg) { @@ -32,7 +46,9 @@ class TwitchAppBot extends TwitchBot { $this->getLogger()->info('got command '.$cmd[0].' on channel '.$channel->title); try { $command = ChatCommand::create($this, $channel, $config); - $command->execute($cmd[1] ?? ''); + if ($command->checkAccess($msg)) { + $command->execute($cmd[1] ?? ''); + } } catch (\Exception $e) { $this->getLogger()->warning('error executing command '.$cmd[0].' on channel '.$channel->title.': '.$e->getMessage()); }