# Sex Bomba TG Bot Телеграм‑бот, который: - вписывает текст шрифтом Impact (белый с чёрной обводкой) в макеты (`/maket`); - делает мемы из присланных фото (`/gen_mem Up:... Down:...`); - подсказывает, сколько минут до перекура по заданному расписанию (`/break`); - умеет базарить (`/talk`) с контекстом 100 сообщений; - авто-ответы в чате (10% шанс + триггер-слова); - миниигра `/penis` + `/top_penis`; - казино на размер (`/penis_casino`); - гадание на фене с мемом (`/gadanie`). ## Запуск ```bash docker-compose up --build ``` Переменные окружения: задайте `BOT_TOKEN` в `.env` (уже добавлен шаблон); `LLAMA_API_URL` — адрес llama.cpp сервера (для `/talk`) ## Команды - `/start` — отвечает кратко. - `/help` — выводит подсказки и список макетов. - `/maket <текст>` — вписать текст в макет. Доступные: `1 — Владимир Владимирович Путин самый лучший президент` (737x414, точка 104,240). - `/gen_mem Up:верх Down:низ` — прислать с фото (подпись) или ответом на фото. Можно указывать только Up или только Down. - `/break` — показывает, сколько минут до ближайшего перекура/идёт ли перекур. - `/talk <сообщение>` — побазарить с ИИ (контекст 100 сообщений). - `/penis` — миниигра, 1 раз в 24 часа. - `/top_penis` — топ по длине. - `/penis_casino <ставка>` — казино на размер (макс 1 см, казино всегда в выигрыше). - `/gadanie <тема>` — ИИ-гадание на фене + авто-мем. - `/ebalnik` — вкл/выкл авто-ответы бота в чате. - `/svodka` — сводка СВО. ## Макеты и шрифт - Шрифт `impact.ttf` лежит в корне. - Макеты в `maket/`, сейчас есть `1.png`. Добавляйте новые, прописав их в словаре `TEMPLATES` в `main.py`. ## Технологии - Python 3.11, aiogram 3, Pillow. - llama.cpp для ИИ-фич. - Dockerfile + docker-compose для развёртывания. ## Кратко о логике - `/maket` подбирает размер текста, чтобы уместить его в область макета. - `/gen_mem` центрирует текст по ширине, масштабирует под изображение, рисует белый текст с чёрной обводкой. - `/break` считает по расписанию в `config.py`. - `/talk` шлёт запрос к llama.cpp серверу с контекстом 100 сообщений (хранятся в SQLite). - `/penis_casino` — слоты с множителем x1.2–x3 (`games/casino.py`). - `/gadanie` — ИИ-гадание + авто-мем через `generate_meme` (`games/fortune.py`). ## ИИ-модуль (`AI/talk_handler.py`) Подключается к llama.cpp серверу через OpenAI-совместимый API (`/v1/chat/completions`). Хранит контекст 100 сообщений в SQLite. Настройка сервера: 1. Скачать модель: `wget https://huggingface.co/Qwen/Qwen2.5-1.5B-Instruct-GGUF/resolve/main/qwen2.5-1.5b-instruct-q4_k_m.gguf` 2. Запустить: `./llama-server -m model.gguf --host 0.0.0.0 --port 8080 -c 2048` 3. Прописать URL в `.env`: `LLAMA_API_URL=http://адрес:8080`