Telegram-бот с интеграцией PostgreSQL, созданный с использованием PyTelegramBotAPI, SQLModel и Alembic. Бот поддерживает обработку команд, динамическое меню, работу с файлами и фото, а также хранение данных пользователей в базе данных.
- Python
- PyTelegramBotAPI
- SQLModel (ORM для работы с PostgreSQL)
- Alembic (управление миграциями базы данных)
- PostgreSQL
- Docker
-
Создайте файл .env в корне проекта и заполните его необходимыми переменными окружения:
touch .env
Пример содержимого .env:
BOT_TOKEN=your_telegram_bot_token POSTGRES_USER=postgres POSTGRES_PASSWORD=postgres POSTGRES_DB=bot POSTGRES_HOST=db
-
Запустите проект с помощью Docker Compose:
docker-compose up --build
-
Создайте и активируйте виртуальное окружение:
python -m venv venv source venv/bin/activate
-
Установите зависимости:
pip install --upgrade pip pip install -r requirements.txt
-
Создайте файл .env и заполните его переменными окружения (см. пример выше, переменную POSTGRES_HOST установить в значение localhost).
-
Запустите PostgreSQL на вашем компьютере и создайте базу данных с именем, указанным в переменной окружения POSTGRES_DB.
-
Создайте и выполните миграции Alembic:
alembic revision --autogenerate -m "Initial migration" alembic upgrade head
-
Запустите бота:
python main.py