Как прослушать ошибки Telegram Bot?(Google App Script + Webhooks) - PullRequest
0 голосов
/ 04 января 2019

Я разработал полнофункциональный бот Telegram с Google App Script, который использует веб-хуки для чтения и записи в электронную таблицу Google.

Хотя бот стабилен, иногда он вылетает из-за определенного взаимодействия с пользователем, например нажатия кнопокслишком быстро или заставляет бота отправлять слишком много сообщений за короткий промежуток времени.

В разделе Обработка ошибок API Telegram упоминается, что ошибки возвращаются в rpc_error конструкторы, но нет ссылки на какой-либо метод, который можно использовать для прослушивания любых ошибок, которые могут возникнуть.

Я хочу обработать эти ошибки, но единственный известный мне способ - это прослушивать ошибки в каждом APIrequest.

Вот пример того, как я сейчас обрабатываю ошибку:

function editKeyboardMessage(buttonArray) {
  var id = PropertiesService.getUserProperties().getProperty("inline_form_chat_id");
  var message_id = PropertiesService.getUserProperties().getProperty("inline_form_message_id");
  var keyboardMarkup = {"inline_keyboard": buttonArray};
  var data = {
    method: "post",
    payload: {
       method: "editMessageReplyMarkup",
       chat_id: String(id),
       message_id: Number(message_id),
       parse_mode: "HTML",
       reply_markup: JSON.stringify(keyboardMarkup)
     }
   };
  var response = UrlFetchApp.fetch(url + "/", data)
  var responseCode = response.getResponseCode()
  handleErrors(responseCode)
}

Однако это представляется непрактичным для всех типов запросов и не позволяет завершитьобработка ошибок (например, те, которые происходят независимо от запросов, например, переполнение сообщения).

Ожидаемый выходОме будет правильно обрабатывать все входящие ошибки только в одном месте.Есть ли способ прослушивания всех ошибок ботов с помощью функции doPost(e), используемой для прослушивания обновлений?

1 Ответ

0 голосов
/ 04 января 2019

Поскольку мы сейчас говорим о Telegram - это может быть полезно для других.
Разговор начался в https://t.me/BotTalk/105298


tl;dr, вам необходимо выполнить обработку ошибок на вашем конце.Если вы не используете библиотеку, попробуйте проверить каждый ответ от Telegram после отправки запроса на ошибки.Если есть ошибки, обработайте их соответствующим образом.

...