# Sex Bomba TG Bot Телеграм‑бот, который: - вписывает текст шрифтом Impact (белый с чёрной обводкой) в макеты (`/maket`); - делает мемы из присланных фото (`/gen_mem Up:... Down:...`); - подсказывает, сколько минут до перекура по заданному расписанию (`/break`); - умеет базарить (`/talk`). ## Запуск ```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 <сообщение>` — побазарить с ИИ. Работает через llama.cpp сервер. ## Макеты и шрифт - Шрифт `impact.ttf` лежит в корне. - Макеты в `maket/`, сейчас есть `1.png`. Добавляйте новые, прописав их в словаре `TEMPLATES` в `main.py`. ## Технологии - Python 3.11, aiogram 3, Pillow. - llama.cpp для ИИ-фич. - Dockerfile + docker-compose для развёртывания. ## Кратко о логике - `/maket` подбирает размер текста, чтобы уместить его в область макета. - `/gen_mem` центрирует текст по ширине, масштабирует под изображение, рисует белый текст с чёрной обводкой. - `/break` считает по расписанию в `main.py` (словарь `SCHEDULE`). - `/talk` шлёт запрос к llama.cpp серверу (`LLAMA_API_URL`), системный промпт задаёт стиль фени(Можно изменить). ## ИИ-модуль (`AI/talk_handler.py`) Отдельный модуль, не трогает основной код. Подключается к llama.cpp серверу через OpenAI-совместимый API (`/v1/chat/completions`). Настройка сервера: 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`