No description
Find a file
wpng1337 e56a11461b Изменения: что изменилось
Добавлена и доработана миниигра /penis
Логика рандома +/- 0.1..7.0, ограничение минимума до 0.1, cooldown 24ч.
Файлы/места: main.py (line 420), main.py (line 579).
Добавлена команда /top_penis
Динамический топ по текущим значениям см.
Формат с медалями и лимитом топа.
Файлы/места: main.py (line 505), main.py (line 590).
Хранение данных /penis и /top_penis переведено с RAM на SQLite
Убрана in-memory модель, добавлена БД penis_stats.sqlite3.
Добавлена инициализация таблицы penis_stats.
Файлы/места: main.py (line 27), main.py (line 47), main.py (line 761).
Логика записи в БД исправлена под твое требование
Для нового пользователя: INSERT.
Для существующего: UPDATE (без новых строк).
Файл/место: main.py (line 468).
В топ добавлено нормальное имя пользователя
Берётся @username, иначе full_name, иначе user_<id>.
Файл/место: main.py (line 496).
Команды добавлены в help и Telegram command menu
В /help добавлены /penis и /top_penis.
В set_my_commands есть обе команды.
Файлы/места: main.py (line 152), main.py (line 778), main.py (line 783).
Улучшено отображение команд через /
Команды выставляются для scope:
default
all private chats
all group chats
Файл/место: main.py (line 790), main.py (line 796).
Добавлены подробные комментарии в код
По основным блокам main.py и talk_handler.py.
Файлы: main.py, talk_handler.py.
Проверки, которые прогонялись
Компиляция: talk_handler.py.
Локальные тесты:
insert/update/cooldown /penis;
сортировка /top_penis;
запись полей в SQLite;
smoke по генерации мемов и тайм-функциям.
2026-02-22 20:33:27 +03:00
AI Изменения: что изменилось 2026-02-22 19:40:57 +03:00
maket Ну короче реализация вайба, я ща ОБОССУСЬ НАХУЙ 2026-02-20 12:40:54 +03:00
.dockerignore second commit 2026-02-20 11:17:16 +03:00
.env sex_update 2026-02-20 12:11:57 +03:00
.gitignore ИИ-бот на фене через llama.cpp 2026-02-22 14:07:01 +03:00
docker-compose.yaml second commit 2026-02-20 11:17:16 +03:00
Dockerfile ИИ-бот на фене через llama.cpp 2026-02-22 14:07:01 +03:00
impact.ttf second commit 2026-02-20 11:17:16 +03:00
main.py Изменения: что изменилось 2026-02-22 20:33:27 +03:00
README.md ИИ-бот на фене через llama.cpp 2026-02-22 14:07:01 +03:00
requirements.txt ИИ-бот на фене через llama.cpp 2026-02-22 14:07:01 +03:00

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).

Настройка сервера:

  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