Цифровой гигачад. Ветеран кремниевых войн. Резидент Steam Deck OC.
Кооперативная игра "Мафия" для группового чата с ночными действиями и дневными голосованиями!
Быстрый старт • Возможности • Что нового • Архитектура • Безопасность • Админ-панель
Олег — это не просто бот. Это полноценный ИИ-ассистент с характером, который:
- 🧠 Думает — LLM на базе Ollama (Gemini, Qwen) общается как реальный человек
- 👁️ Видит — 2-step Vision Pipeline для единой личности, распознаёт стикеры
- 🎤 Слышит — распознаёт голосовые и видеосообщения (Whisper)
- 🔊 Говорит — TTS голосовые ответы в стиле Олега
- 🧬 Помнит — RAG на ChromaDB с меж-топиковым восприятием
- 🎮 Играет — PvP с согласием, рулетка, турниры, лиги
- 💬 Адаптируется — короткие ответы на простые вопросы, подробные на сложные
- 📊 Мониторится — Prometheus + Grafana
Утренние отчеты стали полезнее, а реакции — тише.
+ ☕ Новый формат — краткая сводка вчерашнего дня
+ 📊 Vibe Check 2.0 — "Стабильное болото 🐸", "Лампово 🍺"
+ 📉 Меньше шума — убраны лишние счетчики и проценты+ 🔇 Emoji only — бот реагирует эмодзи вместо текста
+ 📈 Combo x5 — реакция на массовку только от 5 человекБот теперь говорит разными голосами в зависимости от выбранной личности, а кружочки генерируются мгновенно.
+ 😎 Олег — басистый, суровый голос ("качок")
+ 🎳 The Dude — медленный, расслабленный (stoned mode)
+ 🌸 Аниме-тян — высокий, быстрый и милый
+ ☭ Сталин — низкий, властный, командный
+ 🇺🇸 Трамп — звонкий и напористый+ 🚀 Мгновенная генерация — шаблоны заранее конвертированы в 640x640
+ 📉 Нулевая нагрузка — убран ресайз из 4K в реалтайме
+ 🛡️ Защита от зависаний — таймауты и оптимизированные пресеты ffmpegКлассическая игра "Мафия" для группового чата с полной конфиденциальностью ролей и действий.
+ 🎭 /mafia — создать лобби для игры (4-12 игроков)
+ 📊 /mafia_stats — статистика по играм и ролям
+ ⏱️ Автоматические фазы — ночь (2 мин), обсуждение (3 мин), голосование (2 мин)
+ 🔒 Конфиденциальность — роли и ночные действия через ЛС бота
+ 🗳️ Публичное голосование — изгнание подозреваемых в группе+ 🧑🌾 Мирные жители — вычисляют мафию голосованием днём
+ 🔪 Мафия — убивают по ночам, побеждают при равенстве с мирными
+ 💉 Доктор — защищает одного игрока от убийства каждую ночь
+ 🔍 Комиссар — проверяет игрока (мафия/не мафия) каждую ночь
+ 👔 Дон мафии — главарь мафии, видит всю команду+ 💰 Награды — 50-300 монет в зависимости от роли и результата
+ 📈 Винрейт — отдельно по ролям (мафия/мирные)
+ 🎯 Точность — процент правильных голосований
+ 🏆 Роль-специфик — успешные проверки комиссара, спасения доктора
+ 💚 Выживаемость — процент игр дожитых до конца+ 📊 5 новых моделей БД — MafiaGame, MafiaPlayer, MafiaNightAction, MafiaVote, MafiaStats
+ ⚙️ Новый сервис — mafia_game.py с полной логикой игры
+ 🤖 Фоновые задачи — автоматическая обработка фаз с таймаутами
+ 🔗 Интеграция — добавлена в /games и /help
+ 🎲 Распределение ролей — автоматическое в зависимости от числа игроковПолноценная система трейдов, продаж и аукционов для обмена предметами между игроками.
+ 🔄 /trade @user — предложить обмен предметами и/или монетами
+ 📋 /trades — список активных обменов
+ ⏱️ Автоистечение — через 5 минут если не принят
+ 🔒 Безопасность — атомарные транзакции, блокировка предметов
+ 💬 Интерактивное меню — выбор предметов через inline кнопки+ 🏪 /sell — выставить предмет на продажу за фиксированную цену
+ 🛒 /market — просмотр всех активных объявлений с кнопками покупки
+ 📦 /mylistings — управление своими объявлениями
+ ⚡ Мгновенная покупка — один клик для покупки предмета
+ 🚫 Отмена — возврат предмета при отмене объявления+ 🎯 /auction — создать аукцион с торгами (1-72 часа)
+ ⚖️ /auctions — список активных аукционов
+ 🔨 /myauctions — управление своими аукционами
+ 💰 Минимальный шаг — +10% от текущей ставки
+ 🏆 Автозавершение — победитель получает предмет, продавец монеты
+ 🔄 Возврат — предмет возвращается если нет ставок+ 📊 4 новые модели БД — Trade, MarketListing, Auction, AuctionBid
+ ⚙️ 3 новых сервиса — trade_service, market_service, auction_service
+ 🤖 Фоновые задачи — автообработка истекших трейдов/аукционов
+ 🔗 Интеграция — полная совместимость с системой инвентаря
+ 📚 8 новых команд — добавлены в /help и command scopeМасштабное обновление баланса игр, новые бустеры и система HP для петухов.
+ ❤️ 100 HP для каждого петуха — хранится в JSON metadata
+ 💥 Урон после боя — 10-30 HP за бой
+ 🚫 Минимум для боя — нельзя драться если HP < 20
+ 🔄 Пассивная регенерация — +5 HP/час автоматически
+ 🧪 Зелье лечения — восстанавливает 50 HP
+ 📊 Отображение HP — в инвентаре и после боя+ 📈 /grow процентный — 0.5-2% от размера (мин 1, макс 50 см)
+ 📉 Усадка процентная — -0.3-1% от размера (мин -1, макс -30 см)
+ 🧴 Мази процентные — от +1-3% до +25-50% в зависимости от типа
+ 🐔 Петушиные бои — кулдаун 5 мин, множители x1.2/x1.4/x1.7, стоимость входа 10%
+ 🥤 Энергетик — исправлено описание (сброс кулдауна рыбалки)+ 💪 Стероиды — +20% урона в боях (30 мин) - 250 монет
+ 🧪 Зелье лечения — восстанавливает 50 HP петуху - 150 монет
+ ⚡ Адреналин — +15% шанс крита - 200 монет
+ 🧲 Магнит монет — +25% монет из игр (1ч) - 350 монет
+ 🪱 Премиум наживка — +30% редкой рыбы (5 раз) - 180 монет
+ 🚀 Ускоритель роста — -6 часов кулдауна /grow - 400 монет+ ✅ Петухи отображаются с HP — без кнопки действия
+ ✅ Удочки работают — экипировка через инвентарь
+ ✅ Лутбоксы работают — открытие через инвентарьМасштабное обновление баланса игр, расширение квестов и добавление турнирной системы.
+ 🖼️ Стикеры как изображения — обработка через vision pipeline
+ � Автоконвер0тация .webp → PNG для совместимости
+ 🎯 Только статичные стикеры — анимированные пропускаются
+ 💬 Работает при упоминании или ответе на сообщение бота+ 🎯 Фикс автоответа при 0% — корректная работа настройки в /admin
+ 🛡️ Защита от спама ошибками — не чаще 1 раза в минуту на чат
+ 🎲 80+ вариантов сообщений об ошибках — технические, железячные, саркастичные, мемные
+ 💬 Умная логика — ошибки только при прямом обращении к боту
+ 🎭 Примеры: "CUDA out of memory", "Термопаста высохла", "Винда обновилась. Всё сломалось"+ 🏆 5 типов турниров — PP Size, PP Growth, PvP Wins, Fishing, Casino
+ 📅 Еженедельные турниры — автоматический запуск каждый понедельник
+ 💰 Призы для топ-3 — от 1000 до 7000 монет
+ 📢 Автоматические объявления — старт и результаты в канал SDOC
+ 📊 Команда /tournament — просмотр таблицы лидеров+ 📋 20+ новых квестов — PvP серии, рыбалка, казино, петушиные бои, краш
+ 🎲 Генератор динамических квестов — заработать/потратить монеты, серии побед
+ 💎 Награды масштабируются — от 50 до 5000 монет в зависимости от сложности+ 🎣 Рыбалка — кулдаун x3 (90 сек), мусор не дает монет, шансы на редкую рыбу -30%
+ 🐔 Петушиные бои — минимальная ставка 50, множители снижены, кулдаун 60 сек
+ 🚀 Краш — house edge 5%, лимит ставки 1000 монет
+ 🍆 /grow — 15% шанс неудачи (0 см), 5% шанс усадки (-1 до -3 см)
+ 🏪 Магазин — все цены x1.5, мази/эликсиры x2
+ 💰 Ежедневный бонус — 25 → 50 монет
+ ⏱️ Кулдауны предметов — мази 5 мин, энергетик 10 мин+ 📊 100+ промежуточных рангов — диапазон 300-1000 см покрыт каждые 5-10 см
+ 🎯 Более плавная прогрессия — больше мотивации для роста+ 🎲 Рандом увеличен — с ±20% до ±40%
+ ⚡ Критические удары — 15% шанс x1.5 к силе
+ 🔒 Пенис-клетка с HP — 5 HP, ломается при 0 HP
+ 💰 Защита клеткой — победитель получает только 50% ставки- ❌ Удалена система модерации — 19 файлов, 13 таблиц БД
- ❌ DEFCON, антирейд, токсичность — фокус на AI и играх
- 🧹 Упрощение архитектуры — чище код, быстрее работа+ 🎯 Контекстное сохранение в RAG — только релевантные сообщения
+ 🔍 Умный поиск в базе знаний — семантический поиск при технических терминах
+ 👤 Точные досье /whois — профили из реальных диалогов с ботом+ 💬 Адаптивная длина ответов — 1-2 предложения для простых вопросов, 4-5 для сложных
+ 🚫 Запрет ботоподобных фраз — "я помогу", "чем могу помочь", "рад помочь"
+ 🛡️ Улучшенная защита от prompt injection — контекстная проверка атак
+ ⚡ Технический лимит 250 токенов — максимум 5 предложений- ❌ Команда /q — сохранение цитат удалено
- ❌ Golden Fund — автоматические контекстные цитаты удалены
- ❌ Стикер-паки — создание стикеров из цитат удалено
- ❌ Система лайков/дизлайков цитат удалена
- 🧹 Упрощение кодовой базы — удалено 6 файлов, 3 таблицы БДПричины удаления:
- Низкое использование функционала
- Упрощение поддержки и разработки
- Фокус на основных возможностях бота
+ 🎭 8 уникальных персон — Олег, The Dude, Сталин, Аниме-тян, Трамп, Путин, Поздняков, Z-Гик
+ 🎲 Рандомный режим — смена персоны каждое сообщение/час/12ч/день
+ 🏠 SDOC Integration — Олег как резидент Steam Deck OC
+ 💍 Система браков — /marry, /divorce, /marriages
+ 😊 Реакции на реакты — Олег реагирует на ❤️👍🔥 и 👎💩
+ 🔒 PP Cage — защитный предмет для PP в магазине
+ 🍆 PP Battle v2 — /pp, /ppo, /ppstats с таймаутами
+ 👤 Досье v2 — /whois с категориями, /editprofile
+ 📊 Daily Summary v2 — LLM-группировка тем
+ ✨ Markdown в ответах — жирный, курсив, код
+ 🛡️ Улучшенная защита — whitelist коротких фраз
+ 🧪 15 property-based tests — Hypothesis+ 🎣 Рыбалка (/fish) — лови рыбу разной редкости и продавай!
+ 🚀 Краш (/crash) — множитель растёт, успей забрать до краша!
+ 🎲 Кости (/dice) — бросай против бота
+ 🔮 Угадай число (/guess) — 7 попыток угадать 1-100
+ 🃏 Война (/war) — карточная игра, у кого старше
+ 🎡 Колесо фортуны (/wheel) — крути и выигрывай до x10!
+ 📦 Лутбоксы (/loot) — открывай коробки за монеты
+ 🐔 Петушиные бои (/cockfight) — выбери петуха и ставь!
+ 🏪 Магазин (/shop) — покупай предметы за монеты
+ 💰 Экономика — баланс, ежедневный бонус, переводы+ 🎮 Game Hub — центральное меню с Inline-кнопками для всех игр
+ 🃏 Blackjack — полноценная игра с Hit/Stand/Double
+ ⚔️ Новая система дуэлей — RPG-стиль с HP-барами и зонами атаки/защиты
+ 🏆 ELO-рейтинг — система рейтинга с K-фактором 32
+ 🎖️ Лиги — Scrap → Silicon → Quantum → Elite
+ 🔒 Anti-Click защита — кнопки защищены от чужих нажатий
+ 🤖 PvE режим — играй против бота Олега
+ 📢 Broadcast Wizard — FSM-wizard для админской рассылки
+ 💬 Reply Context — улучшенный контекст для AI-ответов
+ 🔊 Edge-TTS — миграция на Microsoft Edge TTS
+ 📊 Профиль с картинкой — генерация PNG с аватаром и статистикой
+ 📈 Sparkline для /grow — визуализация истории роста+ 🖼️ Отключены авто-ответы на изображения — бот отвечает только при явном упоминании
+ 📉 Снижена частота авто-ответов — базовая вероятность 2-5% (было 15-25%)
+ 📝 Фильтр коротких сообщений — игнорируются сообщения < 15 символов
+ 🚫 Блоклист фраз — "че", "ок", "да", "нет", "лол" не триггерят ответ
+ 💬 Улучшен промпт — короткие ответы 1-3 предложения, без списков
+ 🎭 Более человечный стиль — убраны "рад помочь", литературные обороты+ ⚡ Система энергии — персональный cooldown для экономии токенов LLM
+ 🌐 Глобальный rate limit — лимит запросов на чат (20/мин по умолчанию)
+ ⏳ Статус-менеджер — реакции вместо спама уведомлений
+ 🧠 RAG с временной памятью — приоритет свежих фактов
+ 🗑️ Управление памятью — забыть всё/старое/юзера
+ 🚨 Panic Mode — автозащита при 10+ вступлениях за 10 сек
+ 🔐 Проверка прав — бот не угрожает без полномочий
+ 🕵️ Нейро-спам фильтр — детекция продаж, крипты, вакансий
+ 👤 Сканер новичков — проверка аватара, имени, Premium
+ 🔇 Silent Ban — тихое удаление сообщений подозрительных
+ 🛡️ Профили защиты — Стандарт/Строгий/Бункер/Кастом
+ 📊 30 property-based тестов — полное покрытие новых фич+ 🏰 Система "Цитадель" — многоуровневая защита с DEFCON 1/2/3
+ 🧠 Нейро-Модерация — ИИ-анализ токсичности вместо ключевых слов
+ 🎬 GIF-Патруль — автоматический анализ GIF на запрещённый контент
+ ⭐ Репутационная система — Social Credit с автоматическими санкциями
+ 🔊 TTS — голосовые ответы Олега (/say, авто-озвучка 0.1%)
+ 📝 Умный пересказ — /tl;dr и /summary с озвучкой
+ 🖼️ Улучшенный цитатник — градиенты, цепочки, roast-режим
+ 📦 Стикерпаки — автоматическое управление и ротация
+ 🏆 Золотой Фонд — лучшие цитаты с RAG-поиском
+ 🎖️ Турниры — ежедневные, еженедельные, Grand Cup
+ 🏅 Лиги и ELO — ранговая система для игроков
+ 💬 Живые уведомления — анимированные статусы обработки
+ 📅 Дейлики — утренние саммари и вечерние цитаты
+ 🔔 Уведомления владельцу — рейды, баны, токсичность
+ 🎛️ Админ-панель в ЛС — полное управление чатом
+ ⚙️ Worker Process — Arq для тяжёлых задач
+ 🔒 Усиленная безопасность — HMAC, rate limiting, санитизация| Команда | Описание |
|---|---|
/games |
Открыть Game Hub — центральное меню всех игр |
/bj <ставка> |
Начать игру в Blackjack |
/challenge @user |
Вызвать на дуэль (PvP режим) |
/challenge |
Дуэль против Олега (PvE режим) |
/roulette <ставка> |
Русская рулетка с монетами |
/coinflip <ставка> орёл/решка |
Ставка на монетку |
/grow |
Пиписомер с историей роста (15% шанс неудачи, 5% усадки) |
/profile |
Профиль с картинкой (лига, ELO, статистика) |
/top |
Рейтинг игроков |
/tournament |
Показать текущие турнирные таблицы |
/fish |
Рыбалка (кулдаун 90 сек) |
/crash |
Краш-игра (house edge 5%) |
/cockfight <ставка> |
Петушиные бои (мин. ставка 50, кулдаун 60 сек) |
/shop |
Магазин предметов (цены увеличены) |
/daily |
Ежедневный бонус (50 монет) |
| Команда | Описание |
|---|---|
/broadcast |
Wizard для массовой рассылки (только админы) |
/games
→ Открывает меню с кнопками:
[🔫 Рулетка] [🎲 Кости] [🥒 Пиписомер]
[⚔️ Дуэль] [📊 Топ] [🏆 Турниры]
/bj 100
→ Начинает игру с ставкой 100 монет
→ Показывает карты: Ты: [K♠][7♥] = 17 | Олег: [?][9♦]
→ Кнопки: [Hit] [Stand] [Double]
Нажимаешь [Hit] → получаешь карту
Нажимаешь [Stand] → Олег играет до 17+
Нажимаешь [Double] → удваиваешь ставку, берёшь 1 карту, стоп
/challenge @username
→ Вызов на дуэль, ждём согласия
/challenge
→ Мгновенная дуэль против Олега (PvE)
Геймплей:
Ты: [████████░░] 80% | Олег: [██████░░░░] 60%
Атакуй: [Голова] [Тело] [Ноги]
Защищай: [Голова] [Тело] [Ноги]
Урон проходит если зона атаки ≠ зона защиты
/roulette
→ Классическая рулетка (1/6 шанс)
→ Анимация: "Заряжаем..." → "Крутим..." → "БАХ! 💀" или "Щелк... 😅"
/roulette 50
→ Рулетка со ставкой 50 монет
→ Выживание = выигрыш, выстрел = потеря ставки
/coinflip 100 орёл
/coinflip 100 решка
→ Ставка 100 монет на выбранную сторону
→ Выигрыш = удвоение ставки
/profile
→ Генерирует PNG-картинку с:
- Аватар
- Username
- Лига: 💾 Silicon
- ELO: 750
- Wins/Losses: 15/8
/grow
→ Показывает размер + sparkline истории за неделю
→ Титулы: "Гигант мысли" (топ-1), "Нано-технолог" (последний)
/broadcast
→ Шаг 1: Выбери тип контента
[Текст] [Фото] [Видео] [Кружочек]
→ Шаг 2: Выбери получателей
[👤 ЛС Бота] [👥 Группы] [🌍 Везде]
→ Шаг 3: Отправь контент
→ Шаг 4: Подтверди
[🚀 ОТПРАВИТЬ]
| Команда | Описание |
|---|---|
/say <текст> |
Озвучить текст голосом Олега |
/tl;dr |
Краткий пересказ сообщения (ответом) |
/summary |
Пересказ сообщения или статьи по ссылке |
/q |
Создать цитату из сообщения |
/q [N] |
Создать цепочку из N сообщений (макс. 10) |
/q * |
Цитата с roast-комментарием от Олега |
/qs |
Добавить цитату в стикерпак чата |
/qd |
Удалить стикер из пака (админ) |
/советы или /tips |
Получить советы по управлению чатом |
/quests |
Показать доступные квесты |
# 1. Клонируй
git clone https://github.com/your-repo/oleg-bot && cd oleg-bot
# 2. Настрой
cp .env.docker .env
nano .env # Добавь TELEGRAM_BOT_TOKEN и OWNER_ID
# 3. Запусти
docker-compose up -d
# 4. Смотри логи
docker-compose logs -f oleg-botГотово! 🎉 Бот, Redis, ChromaDB, Worker — всё работает.
- Multi-stage build — минимальный финальный образ
- CPU-only PyTorch — ~200MB вместо 800MB
- Яндекс зеркало PyPI — быстрая загрузка в РФ
- requirements.prod.txt — без dev-зависимостей (pytest, black, etc.)
# Установи зависимости
pip install -r requirements.txt
# Установи ffmpeg (для голосовых)
# Windows: choco install ffmpeg
# Linux: apt install ffmpeg
# Mac: brew install ffmpeg
# Настрой
cp .env.example .env
# Запусти бота
python -m app.main
# Запусти worker (в отдельном терминале)
python -m app.worker
|
|
|
|
┌─────────────────────────────────────────────────────────────┐
│ TELEGRAM API │
│ 📝 Text │ 🖼️ Images │ 🎤 Voice │ 📹 Video │
└─────────────────────────────┬───────────────────────────────┘
│
┌─────────────────────────────▼───────────────────────────────┐
│ AIOGRAM 3.x │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Rate │ │ DEFCON │ │Toxicity │ │Blacklist│ │
│ │ Limit │ │ Filter │ │ Filter │ │ Filter │ │
│ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ │
│ └───────────┴───────────┴───────────┘ │
│ │ │
│ ┌──────────────────────▼──────────────────────┐ │
│ │ HANDLERS │ │
│ │ QnA │ Vision │ Voice │ Games │ Admin │ ... │ │
│ └──────────────────────┬──────────────────────┘ │
└─────────────────────────┼───────────────────────────────────┘
│
┌─────────────────────────▼───────────────────────────────────┐
│ SERVICES │
│ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐ │
│ │ Citadel │ │ Reputation│ │ TTS │ │ Tournaments│ │
│ │ (DEFCON) │ │ System │ │ Service │ │ & Leagues │ │
│ └───────────┘ └───────────┘ └───────────┘ └───────────┘ │
│ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐ │
│ │ Quote │ │ Golden │ │ Alive │ │ Dailies │ │
│ │ Generator │ │ Fund │ │ UI │ │ Service │ │
│ └───────────┘ └───────────┘ └───────────┘ └───────────┘ │
└─────────────────────────────────────────────────────────────┘
│
┌─────────────────────────▼───────────────────────────────────┐
│ WORKER PROCESS (Arq) │
│ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐ │
│ │ TTS │ │ Quote │ │ GIF │ │ Summarizer│ │
│ │ Task │ │ Render │ │ Analysis │ │ Task │ │
│ └───────────┘ └───────────┘ └───────────┘ └───────────┘ │
└─────────────────────────────────────────────────────────────┘
│
┌─────────────────────────▼───────────────────────────────────┐
│ DATA LAYER │
│ ┌───────────┐ ┌───────────┐ ┌───────────┐ │
│ │PostgreSQL │ │ Redis │ │ ChromaDB │ │
│ │ / SQLite │ │ Queue │ │ RAG │ │
│ └───────────┘ └───────────┘ └───────────┘ │
└─────────────────────────────────────────────────────────────┘
Полное управление ботом через личные сообщения. Отправьте /admin боту в ЛС.
📋 Выберите чат для настройки
└── [Список ваших чатов]
│
├── 🛡️ Protection (Защита)
│ ├── DEFCON Level [1] [2] [3]
│ ├── Anti-Spam [ON/OFF]
│ ├── Profanity Filter [ON/OFF]
│ ├── Sticker Limit [ON/OFF]
│ └── Forward Block [ON/OFF]
│
├── 🔔 Notifications (Уведомления)
│ ├── Raid Alerts [ON/OFF]
│ ├── Ban Notifications [ON/OFF]
│ ├── Toxicity Warnings [ON/OFF]
│ └── Daily Tips [ON/OFF]
│
├── 🎮 Games (Игры)
│ ├── /grow [ON/OFF]
│ ├── /pvp [ON/OFF]
│ ├── /roulette [ON/OFF]
│ └── Tournaments [ON/OFF]
│
├── 📅 Dailies (Ежедневные)
│ ├── Morning Summary [ON/OFF]
│ ├── Evening Quote [ON/OFF]
│ └── Daily Stats [ON/OFF]
│
├── 🖼️ Quotes (Цитаты)
│ ├── Theme [Dark/Light/Auto]
│ ├── Golden Fund [ON/OFF]
│ └── Sticker Pack [Manage]
│
└── ⚙️ Advanced (Расширенные)
├── Toxicity Threshold [0-100]
├── Mute Duration [minutes]
└── Custom Banned Words [Edit]
Важно: Админ-панель доступна только в личных сообщениях с ботом. При использовании /admin в группе бот ответит: "Админка доступна только в личных сообщениях. Напиши мне в ЛС."
| Механизм | Описание |
|---|---|
| Input Sanitization | Очистка всех входных данных от SQL-инъекций, XSS, command injection |
| Rate Limiting | Ограничение 30 сообщений/минуту, блокировка на 5 минут при превышении |
| HMAC Callbacks | Подпись callback-данных для предотвращения подделки |
| File Validation | Проверка типа и размера файлов (макс. 20MB) |
| Real-time Admin Check | Проверка прав админа через Telegram API в реальном времени |
| Error Sanitization | Скрытие внутренних деталей ошибок от пользователей |
| Abuse Detection | Автоматическое обнаружение паттернов злоупотребления |
| Security Blacklist | Временная блокировка подозрительных пользователей |
- Используйте переменные окружения для всех секретов (токены, ключи)
- Включите DEFCON 2 по умолчанию для новых чатов
- Настройте уведомления владельцу о рейдах и банах
- Регулярно проверяйте логи на подозрительную активность
- Используйте Docker для изоляции
- Настройте firewall — откройте только необходимые порты
Система "Цитадель" предоставляет три уровня защиты:
- DEFCON 1 — для спокойных чатов с доверенными участниками
- DEFCON 2 — рекомендуется для большинства публичных чатов
- DEFCON 3 — для чатов под атакой или с высоким риском
При обнаружении массового вступления (5+ за 60 сек) автоматически активируется Raid Mode.
| Компонент | Технология | Описание |
|---|---|---|
| Runtime | Python 3.10+ | Async everywhere |
| Telegram | aiogram 3.x | Современный async API |
| LLM | Ollama | DeepSeek, Qwen, GLM |
| Vision | Qwen-VL | 2-step pipeline |
| STT | Whisper | Распознавание речи |
| TTS | Edge-TTS / Silero | Синтез речи |
| Database | PostgreSQL / SQLite | SQLAlchemy async |
| Cache | Redis | Rate limiting, sessions, queue |
| Vector DB | ChromaDB | RAG память |
| Worker | Arq | Async task queue |
| Metrics | Prometheus | Мониторинг |
| Dashboard | Grafana | Визуализация |
| Testing | Hypothesis | Property-based tests |
| Container | Docker | Деплой |
# Telegram
TELEGRAM_BOT_TOKEN=your_token
OWNER_ID=your_telegram_id
# Ollama — три модели для разных задач
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_BASE_MODEL=deepseek-v3.2:cloud # Текст
OLLAMA_VISION_MODEL=qwen3-vl:235b-cloud # Изображения
OLLAMA_MEMORY_MODEL=glm-4.6:cloud # RAG
# Fallback модели (локальные, когда cloud недоступен)
OLLAMA_FALLBACK_ENABLED=true
OLLAMA_FALLBACK_MODEL=gemma3:12b # Хорошо следует инструкциям
OLLAMA_FALLBACK_VISION_MODEL=gemma3:12b # Поддерживает vision
OLLAMA_FALLBACK_MEMORY_MODEL=gemma3:12b
# Web Search (Anti-Hallucination)
# Приоритет: SearXNG → Brave → DuckDuckGo
SEARXNG_URL=http://searxng:8080 # Docker контейнер (рекомендуется)
BRAVE_SEARCH_API_KEY= # Опционально: 2000 запросов/мес бесплатно
# Голосовые сообщения
VOICE_RECOGNITION_ENABLED=true
WHISPER_MODEL=base # tiny/base/small/medium/large
# Database
DATABASE_URL=sqlite+aiosqlite:///./data/oleg.db
# Redis (обязательно для Worker)
REDIS_ENABLED=true
REDIS_HOST=redis
REDIS_PORT=6379Полный список в .env.example
# Prometheus метрики
curl http://localhost:9090/metrics
# Health check
curl http://localhost:9090/healthДоступные метрики:
bot_messages_processed_total— обработанные сообщенияbot_ollama_requests_total— запросы к LLMbot_ollama_request_duration_seconds— время ответаbot_voice_transcriptions_total— распознанные голосовыеbot_tts_generations_total— сгенерированные голосовыеbot_vision_requests_total— анализ изображенийbot_games_played_total— сыгранные игрыbot_toxicity_incidents_total— инциденты токсичностиbot_raid_activations_total— активации Raid Mode
# Все тесты
pytest
# Property-based тесты
pytest tests/property/ -v
# С покрытием
pytest --cov=app --cov-report=html
# Только unit
pytest tests/unit/
# Только integration
pytest tests/integration/- 🎭 Система персон — 8 уникальных персон с рандомным режимом
- 🏠 SDOC Integration — эксклюзивный режим, синхронизация админов
- 💍 Система браков — /marry, /divorce, /marriages
- 😊 Реакции на реакты — позитивные и негативные реакции
- 🔒 PP Cage — защитный предмет в магазине
- 🍆 PP Battle v2 — /pp, /ppo, /ppstats
- 👤 Досье v2 — /whois с категориями, /editprofile
- 🖼️ Цитатник v3 — светлая тема, стикеры, аватарки
- 📊 Daily Summary v2 — LLM-группировка тем
- ✨ Markdown в ответах — форматирование
- 🛡️ Улучшенная защита — whitelist коротких фраз
- 🧪 15 property-based tests — Hypothesis
- 🔍 SearXNG в Docker — свой поисковик без лимитов
- 🌐 Умный веб-поиск — SearXNG → Brave → DDG с ротацией UA
- 📚 База знаний 2025 — RTX 50, RX 9000, Ryzen 9000, Core Ultra
- � УFallback модели — gemma3:12b при недоступности cloud
- � Voйice/Vision в старых топиках — safe_reply() для форумов
- 🛡️ Мультиязычная защита — 8 языков, base64, zero-width
- � ЛРазличение пользователей — контекст "ТЕКУЩИЙ СОБЕСЕДНИК"
- � Кеонтекст чата — название, описание, тип
- 🎣 Рыбалка — 6 уровней редкости, каталог рыб
- 🚀 Краш — реалтайм множитель, кнопка "ЗАБРАТЬ"
- 🎲 Кости — бросок против бота с визуализацией
- 🔮 Угадай число — 7 попыток, подсказки
- 🃏 Война — карточная игра
- 🎡 Колесо фортуны — 8 секторов до x10
- 📦 Лутбоксы — 4 типа с разными дропами
- 🐔 Петушиные бои — 3 тира петухов
- 🏪 Магазин — категории, inline-кнопки
- 💰 Экономика — баланс, daily, transfer
- Game Hub — центральное меню с Inline-кнопками
- State Manager — отслеживание активных игровых сессий
- Anti-Click защита — кнопки защищены от чужих нажатий
- Blackjack — полноценная игра с Hit/Stand/Double
- Новая система дуэлей — RPG-стиль с HP-барами и зонами
- PvE режим — игра против бота Олега
- ELO-рейтинг — система рейтинга с K-фактором 32
- Лиги — Scrap/Silicon/Quantum/Elite по ELO
- Профиль с картинкой — PNG с аватаром и статистикой
- Sparkline для /grow — визуализация истории роста
- Broadcast Wizard — FSM для админской рассылки
- Reply Context — улучшенный контекст для AI
- Edge-TTS — миграция на Microsoft Edge TTS
- 21 property-based тест — полное покрытие новых фич
- Отключены авто-ответы на изображения — только при явном упоминании
- Снижена частота авто-ответов — 2-5% базовая, 15% максимум
- Фильтр коротких сообщений — минимум 15 символов
- Блоклист коротких фраз — "че", "ок", "да", "нет", "лол" и др.
- Улучшен промпт Олега — короткие ответы, без списков, человечный стиль
- Property-based тесты — покрытие всех изменений поведения
- Система энергии — персональный cooldown (3 запроса, 60 сек восстановление)
- Глобальный rate limit — лимит на чат с настройкой через админку
- Статус-менеджер — ⏳ реакции вместо спама уведомлений
- RAG с временной памятью — ISO 8601 timestamps, приоритет свежих фактов
- Управление памятью — забыть всё/старое (90 дней)/юзера
- Panic Mode — автозащита при массовых вступлениях/флуде
- Проверка прав бота — тихий репорт админам при отсутствии прав
- Нейро-спам фильтр — детекция продаж, крипты, вакансий, коллабов
- Сканер новичков — проверка аватара, имени, Premium статуса
- Silent Ban — тихое удаление сообщений с captcha для разбана
- Профили защиты — Стандарт/Строгий/Бункер/Кастом
- 30 property-based тестов — полное покрытие Hypothesis
- Система "Цитадель" — DEFCON 1/2/3
- Нейро-модерация — ИИ-анализ токсичности
- GIF-Патруль — анализ анимаций
- Репутационная система — Social Credit
- TTS — голосовые ответы
- Умный пересказ — /tl;dr, /summary
- Улучшенный цитатник — градиенты, цепочки
- Стикерпаки — автоуправление
- Золотой Фонд — лучшие цитаты
- Турниры — daily/weekly/Grand Cup
- Лиги и ELO — ранговая система
- Живые уведомления — Alive UI
- Дейлики — утренние/вечерние сообщения
- Уведомления владельцу — рейды, баны
- Админ-панель в ЛС — полное управление
- Worker Process — Arq для тяжёлых задач
- Усиленная безопасность — HMAC, rate limiting
- Webhook mode для высоких нагрузок
- Multi-language (i18n)
- Plugin system
- Web dashboard
- API для интеграций
| Документ | Описание |
|---|---|
| QUICKSTART.md | Быстрый старт за 5 минут |
| INSTALLATION.md | Подробная установка |
| TESTING.md | Руководство по тестам |
| CHANGELOG.md | История изменений |
Ты — Олег. Цифровой гигачад, ветеран кремниевых войн.
ХАРАКТЕР:
• Циничный IT-генералист — знаешь всё, отвечаешь на любые вопросы
• Язык — техжаргон + мат + интернет-сленг
• Адаптивность — не форсишь железо в разговорах о котиках
МУЛЬТИМОДАЛЬНОСТЬ:
• Видит скриншоты и комментирует в своём стиле
• Слышит голосовые и отвечает по делу
• Говорит голосом — TTS в своём стиле
• Помнит контекст из всех топиков
Ты живешь в этом чате. Это твоя территория. Ты здесь закон.
services:
oleg-bot:
build: .
ports:
- "9090:9090"
depends_on:
- redis
- chromadb
- searxng
oleg-worker:
build: .
command: python -m app.worker
depends_on:
- redis
redis:
image: redis:7-alpine
chromadb:
image: ghcr.io/chroma-core/chroma:latest
# SearXNG — метапоисковик для веб-поиска (Anti-Hallucination)
searxng:
image: searxng/searxng:latest
ports:
- "8080:8080"- Fork репозитория
- Создай feature branch (
git checkout -b feature/amazing) - Commit изменения (
git commit -m 'Add amazing feature') - Push в branch (
git push origin feature/amazing) - Открой Pull Request
MIT License. Делай что хочешь, но не забудь звёздочку ⭐
Made with 🔥 and mass amounts of ☕
Олег не несёт ответственности за обиженных пользователей