DigitalMarketBot — это учебный проект, представляющий собой пример Telegram-бота для цифрового интернет-магазина, разработанный с использованием современных технологий Python.
Данный бот демонстрирует функциональность интернет-магазина цифровых товаров в Telegram, включая интеграцию с платёжной системой ЮKassa через BotFather. Проект создан в качестве демонстрационного для статьи на Хабре.
В проекте используются следующие технологии:
- aiogram 3.15.0 — асинхронный фреймворк для разработки Telegram-ботов.
- aiosqlite 0.20.0 — асинхронный драйвер для работы с SQLite.
- loguru 0.7.2 — библиотека для продвинутого логирования.
- pydantic-settings 2.7.0 — управление настройками с использованием Pydantic.
- SQLAlchemy 2.0.35 — SQL-библиотека и ORM для Python.
- pydantic >=2.4.1,<2.10 — библиотека для валидации данных и управления настройками.
- alembic 1.14.0 — инструмент для управления миграциями базы данных.
-
Клонируйте репозиторий:
git clone https://github.com/Yakvenalex/DigitalMarketBot.git
-
Перейдите в директорию проекта:
cd DigitalMarketBot
-
Создайте и активируйте виртуальное окружение:
python -m venv venv source venv/bin/activate # Для Windows: venv\Scripts\activate
-
Получите токен бота через @BotFather.
-
Получите платежный токен ЮКассы через @BotFather (подойдет тестовый).
-
Установите зависимости:
pip install -r requirements.txt
-
Создайте файл
.env
в корне проекта:BOT_TOKEN=ВАШ_ТОКЕН ADMIN_IDS=[ADMIN_TG1, ADMIN_TG2, ADMIN_TG3] PROVIDER_TOKEN=ТОКЕН_Ю_КАССЫ
-
Запустите бота c корня проекта:
python -m bot.main
После запуска бота вы можете взаимодействовать с ним в Telegram. Бот предоставляет функциональность цифрового интернет-магазина с возможностью тестовой оплаты через ЮKassa.
- Карта: 1111 1111 1111 1026
- Годен до: 12/26
- CVC-код: 000
Алексей Яковенко Telegram — разработчик данного учебного проекта.
Этот проект распространяется под лицензией MIT.
Видео-демка проекта: ВИДЕО — демонстрация всего функционала бота в одном видео.
Ссылка на работающего бота — демонстрация всего функционала бота в одном видео.
Статья в короторй я подробно и детально описал каждый этап разработки данного проекта: Telegram-бот-магазин на Python: пошаговый гайд с оплатой, каталогом и админкой (Aiogram 3 + SQLAlchemy 2) )
Для более подробного изучения кода и архитектуры проекта рекомендуется ознакомиться с исходным кодом и комментариями в репозитории.
Примечание: Проект создан в образовательных целях и не предназначен для использования в реальных коммерческих проектах без соответствующей доработки и тестирования.