From c85a9e1de80d4a68e9b1b730e60906475682455b Mon Sep 17 00:00:00 2001 From: Daniel Karbach Date: Wed, 21 Feb 2024 12:47:59 +0100 Subject: [PATCH] salute classification --- app/Models/ChatLog.php | 3 +++ app/TwitchBot/TwitchChatBot.php | 15 +++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/app/Models/ChatLog.php b/app/Models/ChatLog.php index 1f0663c..1da62d5 100644 --- a/app/Models/ChatLog.php +++ b/app/Models/ChatLog.php @@ -95,6 +95,9 @@ class ChatLog extends Model { if (Str::contains($rawText, ['hype'])) { return 'hype'; } + if (Str::startsWith($rawText, 'o7') || Str::endsWith($rawText, 'o7') || Str::contains($rawText, 'salut')) { + return 'o7'; + } return 'unclassified'; } diff --git a/app/TwitchBot/TwitchChatBot.php b/app/TwitchBot/TwitchChatBot.php index 8aac9d7..a3ffe2d 100644 --- a/app/TwitchBot/TwitchChatBot.php +++ b/app/TwitchBot/TwitchChatBot.php @@ -190,6 +190,17 @@ class TwitchChatBot extends TwitchBot { return $pogs > 2; } + private function checkForSalute(Channel $channel) { + $notes = $this->getNotes($channel); + $o7s = 0; + foreach ($notes['latest_msgs'] as $text) { + if (ChatLog::classify($text) == 'o7') { + ++$o7s; + } + } + return $o7s > 2; + } + private function contextualMsg(Channel $channel) { $last = $this->getNote($channel, 'last_special'); if ($last != 'gg' && $this->checkForGG($channel)) { @@ -220,6 +231,10 @@ class TwitchChatBot extends TwitchBot { $this->setNote($channel, 'last_special', 'pog'); return $this->randomOfClass($channel, 'pog'); } + if ($last != 'o7' && $this->checkForSalute($channel)) { + $this->setNote($channel, 'last_special', 'o7'); + return $this->randomOfClass($channel, 'o7'); + } return false; } -- 2.39.2