Многофункциональный Telegram-бот для автоматизированной продажи онлайн-курсов с админ-панелью, статистикой и интеграцией с платежной системой ЮKassa.
- 🎓 Каталог курсов — просмотр списка доступных курсов с описанием и ценами.
- 💳 Покупка — интеграция с ЮKassa (через Telegram Payments).
- ⏱ Автоотмена неоплаченных заказов — если пользователь не завершил оплату за 10 минут, заказ автоматически отменяется.
- 🤖 Автоматическая выдача доступа — после оплаты бот мгновенно предоставляет доступ к материалам курса.
- 📚 Личный кабинет — разделы "Мои курсы" и "История покупок".
- 📞 Связь с администратором — связь с администратором через кнопку.
- 🔐 Защищённая админ-панель — доступ только для ID из списка администраторов.
- ✏️ Изменить приветствие — Изменить приветствие.
- ➕ Управление курсами (CRUD)
- 🗄️ Архивация курсов - архивация курсов.
- ♻️ Восстановление курсов - восстановление курсов из архива.
- 👥 Управление пользователями — просмотр зарегистрированных пользователей с пагинацией.
- 📊 Статистика — пользователи, покупки, доход.
- 🛡️ Троттлинг — защита от флуда.
- Python 3.10+
- Aiogram 3 — асинхронный фреймворк для Telegram Bot API
- SQLite — база данных
- ЮKassa через Telegram Payment API
coursesbot/
│── bot.py
│── config.py
│── database.py
│── requirements.txt
│── .env
│── .gitignore
│── README.md
│
├── handlers/
│ ├── user.py
│ └── admin.py
│
├── keyboards/
│ ├── user_kb.py
│ └── admin_kb.py
│
├── models/
│ ├── users.py
│ ├── courses.py
│ ├── payments.py
│ ├── user_courses.py
| ├── settings.py
│ └── stats.py
│
├── migrations/
│ ├── 001_init.sql
│ └── 002_add_indexes.sql
│
├── states/
│ └── admin_states.py
│
├── middlewares/
│ └── throttling.py
│
└── filters/
└── admin.py
git clone <URL-вашего-репозитория>
cd <название-папки-проекта>
Windows:
python -m venv venv
venv\Scripts\activate
macOS / Linux:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Создайте файл .env
и заполните его:
BOT_TOKEN="..."
ADMIN_IDS="..."
PAYMENT_PROVIDER_TOKEN="..."
python -m bot
# или
python bot.py
Бот работает в режиме Long Polling и автоматически обрабатывает все входящие сообщения и платежи.
/start
— регистрация- Меню — навигация по курсам, покупки, история
/admin
— управление курсами, пользователями, статистикой
Если вам понравился проект:
- BTC:
bc1qa3c5xdc6a3n2l3w0sq3vysustczpmlvhdwr8vc
Спасибо за вашу поддержку! 🙏