1847
Чат посвящен вопросам обработки данных и автоматизации работ с помощью сервисов Google Cloud и Yandex Cloud. Изначально посвящен Google Apps Script. Google Workspace чат t.me/gsuiterc Заказать работу @oshliaer и @GoogleSheets_ru_cm
Для примера, который мы очень-очень ждем.
Читать полностью…
== Заключение по отладке ==
Проблема:
Telegram постоянно повторял отправку последнего сообщения боту. Это происходило потому, что скрипт не отвечал на вебхук-запрос Telegram достаточно быстро.
Решение:
Ключевым решением стало изменение функции doPost. Выяснилось, что в ответ на вебхук от Telegram нельзя отправлять объект ContentService. Правильным подходом является завершение функции с помощью return;, что и было сделано. Это обеспечивает корректное завершение запроса и предотвращает повторные отправки со стороны Telegram.
Список внесенных изменений:
- Рефакторинг функции doPost: удалены все возвращаемые значения ContentService для немедленного (предположительно) завершения HTTP-запроса.
- Токен Telegram и ID Google Таблицы были вынесены из кода в свойства скрипта (Script Properties) для улучшения безопасности и гибкости.
- Добавлена функция для отправки сообщений (sendText), использующая метод POST, в отличие от предыдущей реализации с GET.
- Добавлена проверка, чтобы бот не реагировал на сообщения от других ботов, предотвращая возможные бесконечные циклы.
- Внедрено логирование всех входящих и исходящих сообщений, а также ошибок, в отдельную Google Таблицу для упрощения дальнейшей отладки.
- Добавлен механизм кеширования для предотвращения обработки дублирующихся запросов от Telegram.
---
Необходимые свойства скрипта:
- TOKEN: Ваш токен для Telegram Bot API.
- SHEET_ID: ID Google Таблицы, которая используется для логирования и поиска заявок.
https://script.google.com/d/1zlHDUJ-aBxUZpoilH373YFg0IrGrDPV-BrEQb5KvIOaKJhtOfaEN2w9O/edit?usp=sharing
Проблема спама в том, что телега не получает ответа от Скрипта и делает повторные попытки.
Читать полностью…
с помощью cath можно обработать, какая именно ошибка возникла
Читать полностью…
try cath отлавливает все ошибки при выполнении кода. Если скрипт завершается с любой ошибкой, он попадает в cath
Читать полностью…
Я сменил токен что бы не спамил
Читать полностью…
Там запросы идут ежесекундно от 2 или 3 аккаунтов. Скрипты с таким просто не справятся
Читать полностью…
Когда изменения происходят через приложения гугла: веб версию или приложение для мобильных устройств
Читать полностью…
Никак.
Сделать обертку и самому подсчитывать, сохраняя значение, например, в проперти
В общих сведениях только кол-во выполнений всех скриптов
Читать полностью…
Подскажите, как проверить лимиты на вызов urlfetch?
Читать полностью…
Отладка через картинки не проводится. Шлите скрипт. Сделайте новый ключ на бота, пришлите бота и сам проект.
Читать полностью…
Бот на GET не работает, только на POST
Читать полностью…
"{"ok":true,"result":{"url":"https://script.google.com/macros/s/AKfycbwZ_BX06NDFfBZ-kak8Z0KSL7xTUKHpLzJ5l2XoPNHUtupOQxZUzdD8aCIAjeg6tqtxZw/exec","has_custom_certificate":false,"pending_update_count":2,"last_error_date":1755946482,"last_error_message":"Wrong response from the webhook: 302 Moved Temporarily","max_connections":40,"ip_address":"142.250.80.78"}}"
Читать полностью…
Делаю это регулярно!
Читать полностью…
Лимиты Вы не сможете в try обернуть, они идут поверх интерпретатора.
Ошибки разряда "ответ сервера" оборачиваются обычным образом. Чтобы передать ошибку "выше" локальной функции используйте throw.
Ошибки web app (из doPost(е) ) в стандартный лог ошибок не падают, их нужно "отлавливать" иначе
Смотря как возникают эти ошибки. Если через штатный сервис, анпример, URLFetchApp, то у него есть мод muteHttpExceptions, который позволяет обрабатывать ошибки семантически, подавляя всплытие исключения.
грубо говоря, ошибка всегда попадает в cath (если есть эта конструкция), и уже внутри вы можете обработать её как вам нужно
Читать полностью…
А в catch можно передать какая именно ошибка возникла?
Читать полностью…
Ребят, все привет)
Подскажите еще один момент, можно ли в функцию встроить проверку на наличие ЛЮБОЙ ошибки?
Например ошибки: слишком много вызовов url, 429, 502, лимиты spreadsheet, 404 ...
Поискал, вроде try и catch, но там напожобии только деление на 0
Возможно, что-то в телеге заглючило. Но сброс вебхука не помог. Так что хз
Сейчас не на месте, пришлю обновлённый код, там видно, что скрипт даже не успевает отправить уведомление о том, что начал работу. А так всё нормально
Привет все без надежно?
Читать полностью…
Тогда последний вопрос, посмотрел триггеры, есть такой "при редактировании". Это имеется ввиду когда обязательно пользователь редактирует или возможно скрипты изменяют значения в диапазонах допустим?
Читать полностью…
Бот не молчит. Его завалили вызовами, при этом сам Скрипт во многих случаях просто не отправляет сообщения, а выходит.
Возможно, для такой интенсивной нагрузки вам Скрипты не подойдут
Т.е. сколько на данный момент уже сделано вызовов
Читать полностью…
Чё вот это такое? Картинка?
Читать полностью…
"302 Moved Temporarily","max_connections""
Читать полностью…
До старта проверка проходит псле привет!
Читать полностью…
Развёртывание обновлял после изменения кода?
Читать полностью…