В предыдущих статьях мы научились создавать веб-приложение и подключаться к боту.
Сегодня рассмотрим вопрос, как читать полученные ботом сообщения и отвечать на них.
Как было описано в предыдущей статье, мы после срабатывания нашего веб-хука (если что-то написать боту) получили некий объект, где содержится информация, что написано, когда и прочее. Предположим, что объект находится в переменной content
Для дальнейшей обработки нам необходимо его распарсить, чтобы получить нужные нам данные.
Также следует понимать, что если кто-то что-то пишет нашему боту — он с ним «чатится» (создает отдельный чат).
Следовательно, чтобы ответить на сообщение, нужно прежде всего знать идентификатор этого чата.
Чтобы получить идентификатор, используем следующую команду:
let chatID = content.message.chat.id;
В результате у нас в переменной chatID находится идентификатор чата.
Аналогичным образом получаем текст сообщения:
let receiveMsg = content.message.text;
Приведу весь код функции (начало):
function readInputMsg(content) { //функция обработки сообщения let chatID = content.message.chat.id; let receiveMsg = content.message.text;
Расшифровка: на входе мы получили объект (content) и из него получили идентификатор чата (chatID) и текст самого сообщения (receiveMsg).
Теперь мы можем прочитать сообщение (в данной статье не будем углубляться в анализ текстовых строк) и ответить на него:
function sendMsg(chatID, textMsg) { //отправляем простое сообщение let data = { method: "post", payload: { method: "sendMessage", chat_id: String(chatID), text: textMsg, parse_mode: "HTML" } }; return UrlFetchApp.fetch(botUrl + '/', data); }
Данная функция на входе получает идентификатор чата и сообщение, которое нам необходимо отправить в чат с помощью нашего бота (по сути отправка сообщения боту).
Внутри функции создается объект (data), который содержит информацию, которую мы отправляем нашему боту с помощью директивы UrlFetchApp.
В следующей статье мы научимся создавать клавиатуру и обрабатывать ее.
Если есть вопросы, задавайте в комментариях.
P.S. Мы создали бесплатный телеграм бот для кэшбэков по разным банковским картам, который удобно использовать. Информацию по нему смотрите ЗДЕСЬ.
Рекомендую почитать:
- «10 бирж фриланса и удаленной работы для новичков и профи: список и рекомендации по заработку»
- «Доход на партнерских/реферальных программах: примеры и полезные советы»
- «Учет заказов по работе с клиентами в Гугл Таблице: бесплатное готовое решение»