Этот проект позволяет создать своего телеграм бота для ресторанов пицц (Telegram, Facebook). Этого бота еще нужно улучшать, стандарты MVP выполнены. Бот работает на CMS.
Бот с минимальным функционалом, в отличие от телеграм бота, его надо допиливать.
Если хотите запустить бота делайте это через ngrok на своем ПК или деплойте на heroku к примеру.
Весь функционал полностью исправен и отлажен, подключена платежка. На данном этапе бот почти готов для прода. Для телеграм бота не нужен ngrok, можете его запускать на своем пк или деплойте на heroku к примеру.
Перед началом работы вам надо вручную создать Flow ваших пиццерий с slug = pizzeria
указанным ниже.
Дальше создаете поля для Flow. Поля указаны в формате slug - тип данных
.
address
- str, alias
- str, Longitude
- float, Latitude
- float, courier_id_telegram
- str
courier_id_telegram
- Указывайте Required Field
- No
. Позже укажите id курьеров для всех ваших пиццерий в этом поле.
создать Flow для ваших покупателей с slug = customer_address
latitude
- float, longitude
- float
Сначала зарегестрируйтесь на redis
Уставновить Python 3+
Установить, создать и активировать виртуальное окружение
pip3 install virtualenv
python3 -m venv env
source env/bin/activate
Установить библиотеки командой
pip3 install -r requirements.txt
Загрузка меню и адресов в CMS
python3 upload.py
Запуск бота
python3 tg_bot.py
python3 app.py
Создайте файл ".env" в него надо прописать ваши token'ы.
В переменную TG_TOKEN
его можно получить в отце всех ботов @botfather в телеграме.
В переменную MOTLIN_CLIENT_ID
его можно получить после регистрации на сайте.
В переменную MOTLIN_CLIENT_SECRET
его можно получить после регистрации на сайте.
В переменную REDIS_HOST
адрес базы данных.
В переменную REDIS_PORT
порт базы данных.
В переменную REDIS_PASSWORD
пароль от базы данных.
В переменную YANDEX_GEOCODER
полезный гайд как его получить сайте.
В переменную TRANZZO_TOKEN
меню payments у BotFather /mybots, выберите бота, Payments. Выбрать банк и получить тестовый токен.
В переменную FB_PAGE_ACCESS_TOKEN
его надо получить тут.
В переменную FB_VERIFY_TOKEN
случайное значение для синхронизации в FB.
Пример
TG_TOKEN=1499092860:AAEcuJMYVUCxS36fEiWgov3DyLbFXjUDBmY
MOTLIN_CLIENT_ID=gqZ3frdWUpxnfnKaQzTJn5cfL4WwSGAYgHMke7mz8d
MOTLIN_CLIENT_SECRET=lsbe7iCNANxS2tU25DHcoHYTBq3fqmPeEss3UwapTG
REDIS_HOST=redis-14295.c92.us-east-1-3.ec2.cloud.redislabs.com
REDIS_PORT=144895
REDIS_PASSWORD=s2aH9KMoj24afChrCtOxxKbdvwRO2hSR
YANDEX_GEOCODER=b8f9b3eb-bb4c-4eb1-129e-68369f9d7ebe
TRANZZO_TOKEN=410694247:TEST:66734346-4a12-4092-b816-92cb0744489e
FB_PAGE_ACCESS_TOKEN=EAAON9GfseOwBAGxyWIbv32ZAh42pFbAQo2YfAVnUMPgZApfWhmG6HngL7yh8pQtJVtchGTLrW3dpZC08qQNKYOEGGKqaUkICzB9wiWSmHhepXRdD9J1IGggQZCrZBHWoBKwPZBg5kJYBIZAYiweqtKrAuwWyWmUlj1yK8PbBzErZAQZDZD
FB_VERIFY_TOKEN=23112314213241241