Теперь бот отправляет расписание красивыми изображениями с вашим водяным знаком FLEIZY!
pvgus_bot/
├── bot/
│ ├── handlers/
│ │ ├── schedule.py ✏️ ОБНОВЛЁН - отправка изображений
│ │ ├── start.py
│ │ └── settings.py
│ ├── keyboards/
│ └── states/
├── services/
│ ├── image_generator.py ⭐ НОВЫЙ - генератор изображений
│ ├── parser.py
│ ├── formatter.py
│ └── __init__.py ✏️ ОБНОВЛЁН
├── database/
├── config/
├── utils/
├── main.py
├── main_UPDATED.py ⭐ НОВЫЙ - пример с уведомлениями
├── ADVANCED_FEATURES_UPDATED.py ⭐ НОВЫЙ - уведомления с изображениями
├── requirements.txt ⭐ НОВЫЙ - зависимости
├── INSTALLATION_GUIDE.md 📖 ИНСТРУКЦИЯ ПО УСТАНОВКЕ
├── COLOR_THEMES.md 🎨 10 ГОТОВЫХ ЦВЕТОВЫХ СХЕМ
└── README.md 📖 ЭТОТ ФАЙЛ
pip install -r requirements.txtСкопируйте обновлённые файлы в ваш проект:
- ✅
services/image_generator.py- новый файл - ✅
services/__init__.py- обновлённый - ✅
bot/handlers/schedule.py- обновлённый
python main.pyОтправьте боту команду 📅 Сегодня - должно прийти изображение!
- 🎨 Профессиональный тёмный дизайн
- 📱 Оптимизирован для мобильных устройств (1080px ширина)
- 🔄 Адаптивная высота под количество пар
- ✨ Скруглённые углы и градиенты
- 💧 Полупрозрачный на фоне всего изображения
- 🎯 Яркий брендинг внизу каждого изображения
- 🔒 Защита контента - ваше имя на каждом расписании
- 📖 Лекция
- 💻 Практика
- 🧪 Лабораторная работа
- 📝 Семинар
- 💬 Консультация
Откройте services/image_generator.py и найдите словарь COLORS:
COLORS = {
'background': '#1a1a2e', # Фон
'accent': '#e94560', # Акцентный цвет
# ... другие цвета
}В файле COLOR_THEMES.md есть 10 готовых цветовых схем:
- Тёмная синяя (FLEIZY) - текущая
- Cyber (фиолетовая)
- Modern (светлая)
- Matrix (зелёная)
- Minimal
- Gradient Dark
- Sunset (оранжевая)
- Neon
- University (классическая)
- Pastel (пастельная)
Просто скопируйте понравившуюся схему в image_generator.py!
Найдите в коде:
watermark = "FLEIZY" # Ваше имяИ замените на своё!
Файл ADVANCED_FEATURES_UPDATED.py содержит:
- 🌅 Отправка расписания на день изображением
- ⚙️ Настраиваемое время
- ⏰ Уведомления перед каждой парой
- 📚 Информация о предмете и аудитории
- 📊
/stats- статистика бота - 📢
/broadcast- рассылка всем пользователям - 🗑️
/clear_cache- очистка кэша
См. подробную инструкцию в файле INSTALLATION_GUIDE.md раздел "Уведомления"
| Файл | Описание |
|---|---|
| INSTALLATION_GUIDE.md | 📖 Подробная инструкция по установке и настройке |
| COLOR_THEMES.md | 🎨 10 готовых цветовых схем + генераторы палитр |
| ADVANCED_FEATURES_UPDATED.py | ⚡ Код дополнительного функционала |
| main_UPDATED.py | 📝 Пример main.py с уведомлениями |
aiogram==3.4.1 # Фреймворк для Telegram ботов
Pillow==10.2.0 # Генерация изображений
aiohttp==3.9.3 # Асинхронные HTTP запросы
aiosqlite==0.19.0 # Асинхронная работа с БД
httpx==0.26.0 # Парсинг расписания
beautifulsoup4==4.12.3 # Парсинг HTML
- Формат: PNG
- Ширина: 1080px
- Высота: Динамическая (200px шапка + 180px на пару + 100px футер)
- Качество: 95%
- DPI: 72
- ⚡ Генерация изображения: ~0.1-0.3 секунды
- 💾 Размер файла: 50-200 KB (зависит от количества пар)
- 🚀 Отправка через BufferedInputFile (без сохранения на диск)
Да! В bot/handlers/schedule.py замените блок с генерацией изображения на старый код:
# Вместо:
image_generator = ScheduleImageGenerator()
image_bytes = image_generator.generate_schedule_image(schedule_data)
# ...
# Используйте:
text = ScheduleFormatter.format_day_schedule(schedule_data)
await message.answer(text, ...)В services/image_generator.py:
WIDTH = 1200 # Было 1080Да! Добавьте файл шрифта .ttf в проект и укажите путь:
fonts['header'] = ImageFont.truetype('path/to/font.ttf', 48)Уменьшите качество:
img.save(output, format='PNG', quality=70) # Было 95Или используйте JPEG:
img.save(output, format='JPEG', quality=85)Решение:
pip install PillowРешение (Linux):
sudo apt-get install fonts-dejavuРешение (Windows): Шрифты подхватятся автоматически из системы
Решение:
- Проверьте логи на ошибки
- Убедитесь что Pillow установлен
- Проверьте что файлы обновлены
- Возможность выбора темы через настройки бота
- Добавление логотипа вместо текста
- Анимированные стикеры с расписанием
- Экспорт расписания в PDF
- QR-код для быстрого доступа
Если возникли проблемы:
- 📖 Прочитайте
INSTALLATION_GUIDE.md - 🔍 Проверьте логи бота
- ✅ Убедитесь что все зависимости установлены
- 📝 Проверьте что файлы заменены правильно
- Протестируйте все функции
- Настройте цвета под свой бренд
- Активируйте уведомления (опционально)
- Поделитесь ботом с друзьями!
- ⭐ Генерация изображений расписания
- 🎨 Водяной знак FLEIZY
- 📸 Отправка расписания фотографиями
- 🔔 Уведомления с изображениями
- 📊 Админ команды
- 🎨 10 готовых цветовых схем
- 📖 Подробная документация
- ✏️ Обновлены обработчики расписания
- ✏️ Обновлён services/init.py
- 📝 Улучшены комментарии в коде
- 🐛 Оптимизирована производительность
- 🐛 Улучшена обработка ошибок
Этот проект создан для образовательных целей.
Спасибо за использование PVGUS Schedule Bot!
Если проект оказался полезен, поставьте ⭐
Создано с ❤️ для ПВГУС
Водяной знак: FLEIZY 🎨
Версия: 2.0
Дата: 09.02.2026
Автор обновления: FLEIZY