forked from zovos/bot_tg
говно
|
|
||
|---|---|---|
| AI | ||
| maket | ||
| .dockerignore | ||
| .env | ||
| .gitignore | ||
| config.py | ||
| docker-compose.yaml | ||
| Dockerfile | ||
| impact.ttf | ||
| main.py | ||
| README.md | ||
| requirements.txt | ||
| zparser.py | ||
Sex Bomba TG Bot
Телеграм‑бот, который:
- вписывает текст шрифтом Impact (белый с чёрной обводкой) в макеты (
/maket); - делает мемы из присланных фото (
/gen_mem Up:... Down:...); - подсказывает, сколько минут до перекура по заданному расписанию (
/break); - умеет базарить (
/talk).
Запуск
docker-compose up --build
Переменные окружения: задайте BOT_TOKEN в .env (уже добавлен шаблон);
LLAMA_API_URL — адрес llama.cpp сервера (для /talk)
Команды
/start— отвечает кратко./help— выводит подсказки и список макетов./maket <id> <текст>— вписать текст в макет. Доступные: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).
Настройка сервера:
- Скачать модель:
wget https://huggingface.co/Qwen/Qwen2.5-1.5B-Instruct-GGUF/resolve/main/qwen2.5-1.5b-instruct-q4_k_m.gguf - Запустить:
./llama-server -m model.gguf --host 0.0.0.0 --port 8080 -c 2048 - Прописать URL в
.env:LLAMA_API_URL=http://адрес:8080