}
private function contextualMsg(Channel $channel) {
- $last = $this->getNote($channel, 'last_special');
+ $last = $this->getLastSpecialSent($channel);
$classifications = $this->collectClassifications($channel);
$count_quotas = [
'gg' => 2,
'hi' => 2,
'hype' => 2,
'lol' => 2,
+ 'love' => 2,
'number' => 2,
'pog' => 2,
'o7' => 2,
+ 'wtf' => 2,
];
$time_quotas = [
'gg' => 600,
'hi' => 60,
'hype' => 60,
'lol' => 60,
+ 'love' => 60,
'number' => 300,
'pog' => 60,
'o7' => 300,
+ 'wtf' => 60,
];
foreach ($classifications as $classification => $count) {
+ if ($classification == $last) continue;
if (!isset($count_quotas[$classification]) || $count < $count_quotas[$classification]) continue;
if (!isset($time_quotas[$classification]) || $this->getTimeSinceSpecial($channel, $classification) < $time_quotas[$classification]) continue;
$this->tagChannelSpecialSent($channel, $classification);
}
private function randomLaughter(Channel $channel) {
+ if (!random_int(0, 2)) {
+ return $channel->randomOfClass('lol');
+ }
return Arr::random([
':tf:',
'4Head',
'GunRun',
'heh',
'Hhhehehe',
- 'HypeLUL',
'Jebaited',
'Jebasted',
'KEKW',
'SUBprise',
'xD',
'YouDontSay',
- $channel->randomOfClass('lol'),
]);
}
$this->notes[$channel->id]['last_special'][$classification] = time();
}
+ private function getLastSpecialSent(Channel $channel) {
+ $notes = $this->getNotes($channel);
+ $max_time = 0;
+ $max_classification = '';
+ foreach ($notes['last_special'] as $classification => $time) {
+ if ($time > $max_time) {
+ $max_time = $time;
+ $max_classification = $classification;
+ }
+ }
+ return $max_classification;
+ }
+
private function getTimeSinceSpecial(Channel $channel, $classification) {
$notes = $this->getNotes($channel);
if (isset($notes['last_special'][$classification])) {