unam3 / trial-bot-all

trial-bot-all: Vkontakte and Telegram bot
BSD 3-Clause "New" or "Revised" License
1 stars 0 forks source link

VK longpolling #3

Closed ghost closed 3 years ago

ghost commented 3 years ago

Из дока

В ответ на запрос сервер может вернуть одну из ошибок: {"failed":1,"ts":30} {"failed":2} {"failed":3} "failed":1 — история событий устарела или была частично утеряна, приложение может получать события далее, используя новое значение ts из ответа. "failed":2 — истекло время действия ключа, нужно заново получить key методом groups.getLongPollServer. "failed":3 — информация утрачена, нужно запросить новые key и ts методом groups.getLongPollServer. Обратите внимание, объекты в сообщении об ошибке могут содержат поля, не описанные в документации. Их необходимо игнорировать и не пытаться обработать.

По хорошему эти кейсы надо обрабатывать

unam3 commented 3 years ago

@vladwix take a look at https://github.com/unam3/trial-bot-all/commit/7c6d28c7f6e8f540d4e473ea4057972b9631e49e

ghost commented 3 years ago

Is this failed field set anywhere?

unam3 commented 3 years ago

https://github.com/unam3/trial-bot-all/blob/7c6d28c7f6e8f540d4e473ea4057972b9631e49e/src/Vk.hs#L83-L96 here we check if the server reply has this field.

ghost commented 3 years ago

Oh, looks like I overlooked this part