Adios_Congratulations-AI-Agent
GigaChat Birthday Bot Телеграм-бот для генерации персонализированных поздравлений с использованием нейросети GigaChat от Сбера.
🌟 Возможности Генерация уникальных поздравлений на основе профиля пользователя
Учет интересов пользователя при создании текста
Система оценки качества генерации (обратная связь)
Персонализация для разных сегментов клиентов банка
🛠 Технологии Python 3.8+
Aiogram 3.x - асинхронный фреймворк для Telegram ботов
GigaChat API - нейросеть для генерации текстов
python-dotenv - управление переменными окружения
📋 Предварительные требования Токен Telegram бота от @BotFather
Авторизационный токен GigaChat от developers.sber.ru
Python 3.8 или выше
⚙️ Установка
- Клонирование репозитория bash git clone cd gigachat-birthday-bot
- Установка зависимостей bash pip install -r requirements.txt
- Настройка переменных окружения Создайте файл .env в корневой директории проекта:
env
Токен Telegram бота
BOT_TOKEN=ваш_telegram_bot_token_здесь
Токен GigaChat (Base64 строка из личного кабинета)
GIGACHAT_TOKEN=ваш_gigachat_token_здесь 4. Получение токенов Telegram Bot Token: Откройте Telegram и найдите @BotFather
Используйте команду /newbot для создания нового бота
Скопируйте полученный токен
GigaChat Token: Зарегистрируйтесь на developers.sber.ru
Создайте новое приложение в разделе "Мои приложения"
Получите авторизационные данные (Base64 строку)
Скопируйте в переменную GIGACHAT_TOKEN
🚀 Запуск бота bash python bot.py При успешном запуске вы увидите сообщение:
text Бот с GigaChat запущен... 📖 Использование Команды бота: /start - Запуск бота и создание профиля
/birthday - Генерация персонализированного поздравления с Днем Рождения
Процесс работы: Пользователь запускает бота командой /start
Бот создает профиль пользователя с предустановленными интересами
При вызове /birthday бот:
Отправляет запрос к GigaChat API
Генерирует персонализированное поздравление
Предлагает оценить качество генерации
Оценка качества: После получения поздравления пользователь может оценить его качество:
💚 Супер (5 баллов)
😐 Норм (3 балла)
💔 Плохо (1 балл)
🗂 Структура проекта text . ├── bot.py # Основной файл бота ├── .env # Файл с переменными окружения (создается) ├── .env.example # Пример файла окружения ├── requirements.txt # Зависимости проекта └── README.md # Документация 🔧 Настройка профиля пользователя В коде бота можно изменить предустановленные данные пользователя в функции cmd_start:
python profile = UserProfile( user_id=user_id, name=message.from_user.first_name, segment="VIP Инвестор", # Изменить сегмент interests=["акции", "искусственный интеллект", "яхтинг"] # Изменить интересы ) 📊 Логирование Бот использует несколько уровней логирования:
INFO: Основные события (запуск, запросы к API)
ERROR: Ошибки при работе с GigaChat API
FEEDBACK: Оценки пользователей для последующего анализа
🐛 Возможные проблемы и решения
-
Ошибка аутентификации GigaChat text Ошибка GigaChat: [ошибка аутентификации] Решение: Проверьте правильность токена GigaChat и его формат (Base64).
-
Бот не отвечает на команды Решение: Проверьте правильность Telegram токена и наличие интернет-соединения.
-
Ошибки SSL text SSL сертификат не верифицирован Решение: Бот использует verify_ssl_certs=False для тестирования. Для продакшена рекомендуется настроить SSL сертификаты.
🔒 Безопасность Храните .env файл в безопасности, не коммитьте его в репозиторий
Используйте разные токены для разработки и продакшена
Регулярно обновляйте зависимости
📝 Лицензия Этот проект предоставляется "как есть". Перед использованием в продакшене обязательно проведите тестирование и адаптацию под свои нужды.
🤝 Вклад в проект Если вы хотите внести свой вклад:
Форкните репозиторий
Создайте ветку для вашей функции
Зафиксируйте изменения
Отправьте pull request
📞 Поддержка Для вопросов и предложений:
Проверьте документацию GigaChat: developers.sber.ru/docs
Ознакомьтесь с документацией Aiogram: docs.aiogram.dev
Проект создан для демонстрации интеграции Telegram бота с GigaChat API