diff --git a/mirzaev/marina/system/controllers/index.php b/mirzaev/marina/system/controllers/index.php index f000fb7..58a03ec 100644 --- a/mirzaev/marina/system/controllers/index.php +++ b/mirzaev/marina/system/controllers/index.php @@ -78,24 +78,68 @@ final class index extends core $buffer = []; // Конвертация проверяемых слов - $marina = self::ascii('марина', $buffer); - $marishka = self::ascii('маришка', $buffer); - $marinochka = self::ascii('мариночка', $buffer); - $marinushka = self::ascii('маринушка', $buffer); - $marya = self::ascii('маря', $buffer); + $arsen = self::ascii('арсен', $buffer); + $arsenchik = self::ascii('арсенчик', $buffer); + $senya = self::ascii('сеня', $buffer); // Конвертация слова $_word = self::ascii(mb_strtolower($word), $buffer); if ( - levenshtein($_word, $marina, 2, 2, 1) < 3 - || levenshtein($_word, $marishka, 2, 1, 2) < 4 - || levenshtein($_word, $marinochka, 2, 1, 2) < 4 - || levenshtein($_word, $marinushka, 2, 1, 2) < 4 - || (levenshtein($_word, $marya, 3, 3, 1) < 3 && $word !== 'мария') + ($mirzaev = $message->guild->members->get('id', '534633964737134623')) instanceof member + && ($mirzaev->status === 'offline' || $mirzaev->status === null) + && rand(0, 100) < 16 + and levenshtein($_word, $arsen, 2, 2, 1) < 3 + || levenshtein($_word, $arsenchik, 2, 1, 2) < 4 + || levenshtein($_word, $senya, 2, 2, 1) < 3 ) { - $message->reply(_message::new()->setContent('ЗДАРОВА')); + // Найдено обращение к Арсену, он не в сети и шанс 15% + + // Отправка сообщения + $message->reply(_message::new()->setContent(match (rand(0, 5)) { + 0 => 'батя спит', + 1 => 'арсен проломил себе голову и находится в реанимации', + 2 => '"МАРИНА ПЕРЕДАЙ ИМ ЧТО Я В БЕГАХ В ТАДЖИКИСТАНЕ"', + 3 => 'ему раздавили яйца и он лежит в соседней комнате без сознания', + 4 => 'папа меня бьёт за то, что я не удаляю такие сообщения :sob:', + 5 => '<:smart:1105401468019822643>', + default => '<:smart:1105401468019822643>' + })); + } else { + // Не найдено обращение к Арсену + + // Инициализация буфера символов для конвертации: UTF-8 -> ASCII+ + $buffer = []; + + // Конвертация проверяемых слов + $marina = self::ascii('марина', $buffer); + $marishka = self::ascii('маришка', $buffer); + $marinochka = self::ascii('мариночка', $buffer); + $marinushka = self::ascii('маринушка', $buffer); + $marya = self::ascii('маря', $buffer); + + // Конвертация слова + $_word = self::ascii(mb_strtolower($word), $buffer); + + if ( + levenshtein($_word, $marina, 2, 2, 1) < 3 + || levenshtein($_word, $marishka, 2, 1, 2) < 4 + || levenshtein($_word, $marinochka, 2, 1, 2) < 4 + || levenshtein($_word, $marinushka, 2, 1, 2) < 4 + || (levenshtein($_word, $marya, 3, 3, 1) < 3 && $word !== 'мария') + ) { + // Найдено обращение к Марине + + // Отправка сообщения + $message->reply(_message::new()->setContent('ЗДАРОВА')); + } + + // Деинициализация неактуальных переменных + unset($buffer, $marina, $marishka, $marinochka, $marya, $_word); } + + // Деинициализация неактуальных переменных + unset($buffer, $arsen, $arsenchik, $senya, $_word); } });