Skip to content

RohaCode/coursesbot

Repository files navigation

🤖 Telegram-бот для продажи онлайн-курсов

Многофункциональный 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

⚙️ Установка и запуск

1️⃣ Клонируйте репозиторий

git clone <URL-вашего-репозитория>
cd <название-папки-проекта>

2️⃣ Создайте и активируйте виртуальное окружение

Windows:

python -m venv venv
venv\Scripts\activate

macOS / Linux:

python3 -m venv venv
source venv/bin/activate

3️⃣ Установите зависимости

pip install -r requirements.txt

4️⃣ Настройте переменные окружения

Создайте файл .env и заполните его:

BOT_TOKEN="..."
ADMIN_IDS="..."
PAYMENT_PROVIDER_TOKEN="..."

5️⃣ Запуск бота

python -m bot
# или
python bot.py

Бот работает в режиме Long Polling и автоматически обрабатывает все входящие сообщения и платежи.


🕹️ Использование

Пользовательский интерфейс

  • /start — регистрация
  • Меню — навигация по курсам, покупки, история

Админ-панель

  • /admin — управление курсами, пользователями, статистикой

💖 Донаты

Если вам понравился проект:

  • BTC: bc1qa3c5xdc6a3n2l3w0sq3vysustczpmlvhdwr8vc

Спасибо за вашу поддержку! 🙏

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages