Zar1official / asynchronus-shop

асинхронный тг-бот + mongodb

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Асинхронный телеграм-бот с блэкджеком и админкой.

Бот, магазин для ваших товаров, на котором можно заработать. Оплата происходит через систему Юкасса. Есть админка с кучей функций, а также возможность подписки для пользователей (важные новости и товары).

Основное меню.

Навигационное меню включает в себя четыре раздела: каталог товаров, корзина, рассылка и админка (доступна только администраторам, другим пользователям нет доступа к ней).

image

Каталог товаров

Любой товар можно добавлять в корзину пока он не закончится на складе (бот пришлет уведомление). Выход из каталога товаров кнопка назад.

image

Рассылка

В боте есть возможность подписаться на спецальную рассылку. Вы будете получать новости о новых товарах, а также важные сообщения от администраторов.

mailing

Корзина

Есть возможность отмены покупки, в таком случае корзина очищается.

image

Здесь показан пример тестового платежа. После оплаты администраторы получают уведомление о заказе.

image

Админка

  1. Добавление нового товара, настройка названия, описания, цены, кол-ва на складе и фотографии. Можно уведомлять подписчиков о новинке.
  2. Возможность как удаления отдельных товаров, так и очищения всего магазина.
  3. Специальное сообщение (показывается всем подписичкам).
  4. Можно добавлять новых админов и добавлять существующих. Чтобы сделать человека админом, у него должен быть чат с ботом.

image

Настройка

Для начала нужно получить токен от бота в BotFather, а также токен от вашей Юкассы. Ее настройка проходит через Bot -> Payments -> Юкасса. Для тестовых платежей используйте токен, который можно сгенерировать через BotFather и получить туть.

Теперь необходимо настроить MongoDB. В конфигурационном файле указаны названия бд и коллекций по умолчанию, вы можете заменить их на свои. В кластере обязательно должна быть БД для корзины, туда будут лететь заказы, которые покупатели добавили в корзину, БД пользователей с двумя коллекциями (админы и подписчики), а также БД, в которой мы будем хранить товары.

image

Осталось дело за малым. Добавить админку. В разделе Database Access создайте пользователя с правами чтения и записи любой БД. Теперь внесите user_name и user_password в конфигурационный файл. Далее нам нужно добавить себя в БД пользователей Mongo, чтобы был доступ к админке в самом боте. Создайте в коллекции админов новый документ, внесите в него свой id (можно узнать здесь) и user_name. Пример показан ниже. На этом настройка магазина завершена!

image

Стек

Python: https://www.python.org/

Aiogram: https://github.com/aiogram/aiogram

Motor: https://github.com/mongodb/motor

MongoDB: https://www.mongodb.com/

стек

About

асинхронный тг-бот + mongodb


Languages

Language:Python 100.0%