Телеграм-бот для приема заказов на торты в г. Москва!
Демо:
- Бот
- Админский канал, где бот постит заказы.
- Админка: http://bakecake.pas-zhukov.ru/admin/ . Логин: guest1, пароль: guest.
Проект состоит из 2 компонент:
- Админка Django (для управления всем) + БД
- Телеграм-бот
Функционал пользователя:
- Выбор торта
- Создание кастомного торта
- Оформление заказа
Функционал администратора:
- Редактирование ингредиентов и их наличия
- Редактирования тортов
- Просмотр заказов и данных о клиентах
- Отдельный тг-канал, в который будут сыпаться новые заказы, как только они оформлены
- Создание сокращённых ссылок на бота и подсчёт переходов по ним
Нижеследующие инструкции описывают, как развернуть проект на локальной машине.
Первым делом, скачайте код:
git clone https://github.com/KillerBee88/BakeCake.git
Установите необходимые зависимости командой:
pip install -r requirements.txt
Для работы проекта, в корень необходимо положить файл .env
со следующими полями:
Переменные, необходимые для работы Телеграм-бота:
TG_BOT_TOKEN
- токен Вашего Телеграм-бота. Как создать бота и получить токен.TG_CHANNEL_ID
- id Вашего канала, куда будут приходить уведомления о новых заказах.BITLY_TOKEN
- Ваш токен с сайта Bitly. Как получить?BOT_LINK
- ссылка на Вашего бота в телеграм, используется для создания сокращённых ссылок. Пример: https://t.me/bakeyourcakebot
Для того, чтобы работал бот, необходимо развернуть django проект.
- Создаем миграции командой
python manage.py makemigrations
- Применяем миграции
python manage.py migrate
- Собираем статику
python manage.py collectstatic
- Создаём суперпользователя
python manage.py createsuperuser
- Запускаем dev сервер
python manage.py runserver
- Переходим по адресу http://127.0.0.1:8000/admin/ и заходим в кабинет администратора.
Минимальный набор данных для проверки бота: создать по одному объекту в каждой таблице ингредиентов торта, сделать их доступными. Создать один оригинальный торт.
- Создать бота, поместить токен в
.env
(см. инструкцию выше). - Создать Telgram-канал, поместить его id в
.env
, сделать бота администратором в этом канале. - Запустить бота командой:
python manage.py bot
Теперь можно написать боту команду /start
и заказать тортики себе, маме и друзьям!
Код написан в рамках выполнения командного проекта в формате фриланс-заказа.