Я разработал полнофункциональный бот 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)
, используемой для прослушивания обновлений?