Бот тренировочный Telegram для работы с AI GigaChat от Сбер. Бот создан для обучения и тренировки работы с библиотекой GigaChain
- Возможность взаимодействовать с AI моделью GigaChat Lite в формате "Вопрос-ответ"
- Дополнительные функции не связанные с GigaChat: узнать погоду и курс валют.
Также имеется возможность отправки сообщений (логов) об ошибках в телеграм.
MVP версия бота. Бот в стадии разработки.
- Python==3.11
- aiogram==3.3.0
- python-dotenv==1.0.0
- urllib3==2.2.1
- sqlite == 3.45.2
- redis==5.0.3
- SQLAlchemy~=2.0.30
- aiogram-calendar==0.5.0
📦multy_bot
- ┣ 📦data (пакет модулей для работы с БД)
- ┣ 📦filters (пакет модулей фильтров)
- ┣ 📦handlers (пакет работы с handlers бота)
- ┣ 📦keyboards (пакет работы с клавиатурами бота)
- ┣ 📦middleware (пакет работы с middlewares)
- ┣ 📦utils (вспомогательный пакет с дополнительными модулями)
- ┣ 📜bot.py (модуль запуска телеграм бота)
- ┣ 📜config.py (модуль инициализации переменных)
- ┣ 📜.gitignore
- ┗ 📜requirements.txt
Следуя этим инструкциям, вы получите копию проекта, которая будет запущена на вашем локальном компьютере для целей разработки и тестирования.
- Клонировать копию проекта на локальный компьютер командой
https://github.com/IPRepin/multy_bot.git
- В используемой вами IDE в корне проекта создаем виртуальную среду командой
python3.11 -m venv venv
И активируем ее
source venv/bin/activate
- В корне проекта создаем файл переменных окружения .env с параметрами
TELEGRAM_TOKEN=<Токен вашего телеграм бота>
ADMINS=<Список id телеграм пользователей, администраторов бота через запятую>
REDIS_URL=False(True) Использование Redis (при значении False используется MemoryStorage)
LOGS_PATH=<путь к паке с логами>
DB_URL=<URL_к базе данных>
OPEN_WEATHER_TOKEN=<Токен сервиса OPEN_WEATHER для получения погоды>
GIGACHAT_AUTHORIZATION=<Авторизационный токен GigaChat API>
Для создания телеграм бота и получения токена воспользуйтесь инструкцией Для получения токена GigaChat API воспользуйтесь инструкцией
- Устанавливаем зависимости
pip install -r requirements.txt
python bot.py