Как исправить код статуса ответа не указывает на успех: 429 на бот.EditMessageTextAsync - PullRequest
0 голосов
/ 23 января 2019

Я написал бота, используя самородок бота 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 сообщений.

...