Шаблон основана на базовых библиотеках для мессенджера
- python-telegram-bot
- viberbot
- vk-api
- https://github.com/qwe345asd/pymessenger
Для facebook messenger мы преработали старую библитеку.
Это, готовый шаблон, который мы можете скачать и редактировать, заменив или добавив в env токены для своего бота в разных социльаных сетях.
Пути по которым стучится каждый месенджер прописаны в файле herald/local_settings.py
. У каждого мессенджера свои настройки и свои токены. Токен необходим для аутентификации бота. WebHook
необходим для создания соединения между сервером мессенджера, для получения сообщений.
Webhook - механизм оповещения системы о событиях
Далее происходит соединении c библиотеками в файле herald_bot/views.py
, при помощи hendlers. После запрос уходит на обработку в herald_bot/handlers/*/request_handler.py
. В этом файле, создается instance
для
для дальнейшей работы.
После создается StateMachine
, который обрабатывает состояние пользователя, на разных экранах и запоминает последную нажатую кнопку в виде экземпляра класса.
StateMachine
- работает с тригером, это унифицирует работу со всеми мессенджерами.
git clone https://github.com/mr8bit/herald
cd herald
virtualenv venv --python=python3.6
pip install -r requirements.txt
- Заменить токены на ваши токены
- Запускаем ngrok
- Заменяем webhook на url с nrok
python manage.py migrate
python manage.py runserver