Too Many Requests у бота Nodejs / telegraf js

194
22 мая 2022, 09:10

бот периодически выкидывает Error: 429: Too Many Requests: retry after 16 когда слишком много запросов, подскажите как прописать запуск бота в документации нашел следующее


telegraf.startPolling([timeout], [limit], [allowedUpdates], [stopCallback])

также следующие примеры запуска


 if (!config.webhook) { 
   const { timeout, limit, allowedUpdates, stopCallback } = config.polling || {} 
   return this.telegram.deleteWebhook() 
     .then(() => this.startPolling(timeout, limit, allowedUpdates, stopCallback)) 
     .then(() => debug('Bot started with long-polling')) 
 } 
to
        if (!config.webhook) {
          const { timeout, limit, allowedUpdates, stopCallback } = config.polling || {}
          return this.telegram.deleteWebhook()
            .then(() => this.startPolling(timeout, limit, allowedUpdates, stopCallback))
            .then(() => {
              debug('Bot started with long-polling')
              return { ok: true, error: null, type: 'long-polling' }
            })
        }

вопрос где прописать какие участки, чтобы бот принимал ограниченое количество запросов и не выбивал ошибку Too Many Requests, знаю что у телеграма есть ограничение

Answer 1

Не там ищите

Данная ошибка не зависит:

  • от языка программирования
  • от используемых библиотек
  • от способа запуска

Что делать?

Начните контролировать ИСХОДЯЩИЕ запросы в адрес API Telegram.

Если частота запросов спровоцирована флудом со стороны пользователей (т.е. входящими запросами) - используйте троттлинг (см. leacky bucket).

Если частые запросы создаёте вы сами - добавьте ожидание между запросами.

READ ALSO
Вложенное подменю без перезагрузки страницы

Вложенное подменю без перезагрузки страницы

Сделал меню без перезагрузки страницы, но когда пытаюсь в меню сделать подменю то перестает работать, не могу разобраться в чем проблема,...

147
Как сделать график Chartjs посередине экрана

Как сделать график Chartjs посередине экрана

Я использую vue-chartjs и мне нужно чтобы мой график при маунте приложения был не от начала до конца полотна, а немного не доходил до концаПока...

142
Как выполнить JS в python?

Как выполнить JS в python?

Нужно выполнить js из python и получить данные, которые выдаст js после выполненияВидел что есть PyV8, но он только для python2

164