Этот проект представляет собой телеграм-бота для оформления заказов тортов. Бот позволяет пользователю выбрать параметры торта (форма, уровни, топпинг, ягоды, декор), добавить комментарий и подтвердить заказ. Администраторы получают уведомления о новых заказах.
- Python 3.x
- Django для работы с базой данных.
- aiogram для взаимодействия с Telegram API.
- SQLite3 для хранения данных.
- Выбор формы, уровней, топпинга, ягод и декора для торта.
- Ввод текста на торт.
- Уведомление пользователей о подтверждении заказа.
- Уведомления администраторов о новых заказах.
- Хранение данных в базе данных.
- Клонируем репозиторий
https://github.com/AnnaKuryletz/BakeCakeBot.git - Создайте и активируйте виртуальное окружение:
python3 -m venv venv source venv/bin/activate # Для Linux/MacOS venv\Scripts\activate # Для Windows - Установка зависимостей:
pip install -r requirements.txt - Настройте Telegram бота:
- Получите токен для вашего бота в
BotFather. - Убедитесь, что бот имеет права администратора в нужной группе, если вы хотите отправлять уведомления администратору.
- Настройте базу данных:
- Примените миграции для базы данных:
python manage.py migrate
Для запуска блога у вас уже должен быть установлен Python 3.
- Запустите сервер командой
python manage.py runserver
После этого переходите по ссылке 127.0.0.1:8000, вы увидите страницу администратора.
- Переменные окружения: В проекте используются следующие переменные:
TELEGRAM_BOT_TOKEN: Токен для вашего Telegram-бота.ADMIN_CHAT_ID: ID группы или канала, куда будут отправляться уведомления об оформленных заказах.
- Модели данных:
CustomCake: Модель для кастомных тортов.StandardCake: Модель для стандартных тортов.CakeOrder: Модель для заказа торта (содержит информацию о выбранном торте, адресе доставки, комментариях).
- Состояния: В проекте используется конечный автомат для отслеживания состояний пользователя:
DeliveryState.waiting_for_address: Ожидание ввода адреса доставки.DeliveryState.waiting_for_comment: Ожидание ввода комментария или пожеланий.OrderCake.confirming: Подтверждение заказа и его сохранение.
-
Запуск бота: После настройки и запуска сервера, ваш бот будет доступен для общения с пользователями в Telegram.
-
Процесс заказа:
- Пользователь вводит необходимые данные для заказа: форму, уровни, топпинг и другие параметры.
- Бот отправляет пользователю подробное сообщение с выбором и запросом на подтверждение.
- После подтверждения, бот сохраняет заказ в базе данных и уведомляет администраторов.
-
Уведомления администраторов: После оформления заказа администраторы получают уведомления о новом заказе с деталями, включая адрес доставки и пожелания клиента.