telegram-newmessage
v1.0.2
Published
a layer between telegram and api. recieve message from telegram, send to api, await response and send answer to telegram
Downloads
4
Maintainers
Readme
Маршрут newMessage
Маршрут находится между сервером, принимающим сообщение от телеграм службы и api по его обработке. Это позволяет отделить разработку api от логики доставки сообщения.
Возможности
- получение сообщения от сервера
- передача сообщения в api
- если api отдает ответ, то отправка этого ответа в телеграм.
- анализ ответа от телеграм на наличие ошибок, связанных с доставкой.
- полученный ответ от телеграм передается в apiResponse для дальнейшей обработки.
Доступные методы Telegram
- answerPrecheckoutQuery
- sendInvoice
- sendMessage
- sendPhoto
- вы всегда можете дописать свой )
Отделение функциональности.
Благодаря этому маршруту, вы не зависите от транспорта. Хотите поставить webhook - пожалуйста, это будет https. Можете организовать свою службу доставки polling. Сообщения вообще могут поступать не от телеграм, а от другого источника. Главное соблюдать структуру сообщения.
Что нужно сделать
Вот то, что остается сделать:
- подключать доставку сообщений
- создать api для обработки этих сообщений
- создать apiResponse для обработки ответов Телеграм.
Схема
Сервер доставки сообщений
|
1
|
Y ----4---->checkResponse
newMessage----4---->apiResponse
| ^
| |
2 3
| |
Y |
api -
checkResponse
Функция checkResponse - это возможость отследить ответ Телеграм и принять меры при возниковении ошибки.
Есть такие виды ошибок:
- связанные с доставкой
- связанные с содержанием сообщения
Функция должна брать на себя обработку ошибок, связанных с доставкой.
Например, если телеграм генерирует ошибку в связи с большим количеством сообщений от бота, то это необходимо обработать. Сбрасывать такие сообщения нельзя.
Пример
В каталоге test есть test1.js. Посмотрите его как пример для понимания как это работает.