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
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. Посмотрите его как пример для понимания как это работает.
