Telegram-бот для сохранения и запоминания сообщений пользователей.
Backend на FastAPI + PostgreSQL, асинхронный, с JWT-аутентификацией.
git clone https://github.com/EvgenySkorik/ChatBotRemember.git
cd ChatBotRemember
cp .env.example .envЗаполни .env:
TELEGRAM_BOT_API_KEY=токен_от_BotFather
POSTGRESQL_DATABASE_URL=postgresql+asyncpg://admin:admin@localhost/remember_bot_db
SECRET_JWT_KEY=любая_секретная_строка
ALEMBIC_MIGRATIONS_PATH=migrations
# Через Poetry
poetry install
poetry run python app/run.py
# Или через pip (нужны requirements.txt)
poetry export --format=requirements.txt --output=requirements.txt --without-hashes
pip install -r requirements.txt
python app/run.pydocker-compose up --build- FastAPI (Swagger): http://localhost:8000/docs
- Telegram-бот: t.me/ваш_бот
- База данных: PostgreSQL на порту 5432
Если нужно накатить миграции:
poetry run alembic upgrade headНе забудьте проверить alembic.ini:
sqlalchemy.url = postgresql+asyncpg://admin:admin@localhost/remember_bot_db- Backend: FastAPI (асинхронный)
- База данных: PostgreSQL + SQLAlchemy (asyncpg)
- Миграции: Alembic
- Аутентификация: JWT
- Telegram API: aiogram / python-telegram-bot
- Управление зависимостями: Poetry
- Контейнеризация: Docker + Docker Compose
.
├── app/ # Основной код приложения
│ └── run.py # Точка входа
├── alembic/ # Миграции
├── database/ # Модели и конфигурация БД
├── docker-compose.yml
├── Dockerfile
├── pyproject.toml
└── .env.example