Я написал бота, используя самородок бота telegram в C #. Я все еще тестирую это сам и во время теста в моем собственном чате я сталкиваюсь с ошибкой Response status code does not indicate success: 429
при функции EditMessageTextAsync
.
Мой бот задает некоторые вопросы от пользователей, и ответы пользователей, набирая или выбирая InlineKeyboardButton
. Каждый раз, когда пользователь отвечает на основное сообщение, которое содержит сводку ответов пользователя, обновляется с помощью EditMessageTextAsync
.
После нескольких вопросов и обычно на определенном этапе (но не всегда) выдается ошибка типа System.AggregateException
, и когда я проверяю ее, она содержит Response status code does not indicate success: 429
. Я видел пределы telegram api, но мне не нужно посылать более одного сообщения в секунду, но он также выдает исключение, и тогда бот и его функции отправки или редактирования не работают некоторое время. Я протестировал добавление функции Thread.sleep(10000)
в каждом месте, где я редактирую сообщение, и это решило ошибку. Но это не хороший UI-бот, который обрабатывает каждый ответ через 10 секунд.
Так, что я должен сделать, чтобы избежать этой ошибки? Это не очень хорошая ситуация, когда бот не может редактировать или отправлять сообщения после отправки или редактирования, например, 20 или 30 сообщений.