return;
}
$text = $this->contextualMsg($channel);
- if (!$text) $text = $this->randomMsg($channel);
+ if (!$text) $text = $this->randomChat($channel);
if (!$text) return;
$this->tagChannelWrite($channel);
$this->sendIRCMessage(IRCMessage::privmsg($channel->twitch_chat, $text));
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)) {
$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;
}
->inRandomOrder();
}
+ private function randomChat(Channel $channel) {
+ $line = $this->queryChatlog($channel)
+ ->whereIn('classification', ['hi', 'hype', 'lol', 'pog', 'unclassified'])
+ ->first();
+ return $line->text_content;
+ }
+
private function randomContextualNumber(Channel $channel) {
$notes = $this->getNotes($channel);
$min = 100000;
$this->getNotes($channel);
$this->notes[$channel->id]['last_read'] = time();
++$this->notes[$channel->id]['read_since_last_write'];
- $this->notes[$channel->id]['latest_msgs'][] = $msg->getText();
- if (count($this->notes[$channel->id]['latest_msgs']) > 10) {
- array_shift($this->notes[$channel->id]['latest_msgs']);
+ if (!ChatLog::isKnownBot($msg->nick) && !ChatLog::spammyText($msg->getText())) {
+ $this->notes[$channel->id]['latest_msgs'][] = $msg->getText();
+ if (count($this->notes[$channel->id]['latest_msgs']) > 10) {
+ array_shift($this->notes[$channel->id]['latest_msgs']);
+ }
}
}