sketal icon indicating copy to clipboard operation
sketal copied to clipboard

KeyError

Open Noneeer opened this issue 7 years ago • 16 comments

Ожидаемый результат (что должно было произойти, чего вы ожидали)

Фактический результат (что произошло на самом деле, что не должно было произойти или должно было произойти иначе)

Traceback (most recent call last):
  File "bot.py", line 397, in <module>
    bot.longpoll_run()
  File "bot.py", line 255, in longpoll_run
    self.loop.run_until_complete(self.main_task)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\asyncio\base_events.py", line 466, in run_u
ntil_complete
    return future.result()
  File "bot.py", line 212, in longpoll_processor
    self.values['ts'] = events['ts']
KeyError: 'ts'

Как повторить эту ошибку? (код, который вызвал ошибку, настройки)

Само собой, через некоторое время работы

Дополнительная информация (лог ошибок, какие настройки использовались, какую версию python используете)

python 3.6

Noneeer avatar Feb 10 '18 08:02 Noneeer

Ошибка возникает когда бот простаивает или кто-то пишет?

astrdark avatar Feb 13 '18 08:02 astrdark

@SevastyanDark Когда простаивает (вроде)

Noneeer avatar Feb 13 '18 14:02 Noneeer

Это на heroku? Вполне возможно завис сервер ВК

astrdark avatar Feb 13 '18 15:02 astrdark

@SevastyanDark Нет, это на моем сервере, еще я запускал у себя на компьютере было тоже самое.

Noneeer avatar Feb 13 '18 17:02 Noneeer

Попробуй запускать

python bot_runner.py

astrdark avatar Feb 13 '18 17:02 astrdark

И да, с инетом все ок?

astrdark avatar Feb 13 '18 17:02 astrdark

@SevastyanDark С инетом все просто идеально, не может же он 10 раз подряд пропасть. Через bot_runner тоже самое.

Noneeer avatar Feb 13 '18 18:02 Noneeer

Ок, завтра сделаю PR

astrdark avatar Feb 13 '18 18:02 astrdark

Будет ещё плагин

astrdark avatar Feb 13 '18 18:02 astrdark

И фикс этого

astrdark avatar Feb 13 '18 18:02 astrdark

Попробуй с этими изменениями

astrdark avatar Feb 15 '18 03:02 astrdark

@SevastyanDark Сделал все как ты сказал, тоже самое, только ошибка другая

Traceback (most recent call last):
  File "bot.py", line 400, in <module>
    bot.longpoll_run()
  File "bot.py", line 258, in longpoll_run
    self.loop.run_until_complete(self.main_task)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\lib\asyncio\base_events.py", line 466, in run_until_complete
    return future.result()
  File "bot.py", line 216, in longpoll_processor
    for event in events['updates']:
KeyError: 'updates' 

Noneeer avatar Feb 17 '18 03:02 Noneeer

Проблема в том, что от вк пришёл пустой запрос или что-то такое. Надо узнать, что пришло и почему пустое.

michaelkryukov avatar Feb 17 '18 19:02 michaelkryukov

@SevastyanDark @michaelkrukov В немного старой версии кстати такой ошибки не возникает. (Хотя работает она от токена сообщества так что не знаю)

Noneeer avatar Feb 19 '18 09:02 Noneeer

@michaelkrukov @Noneeer Скорее всего ВК вернул ошибку 2

"failed":2 — истекло время действия ключа, нужно заново получить key методом messages.getLongPollServer.

astrdark avatar Feb 21 '18 15:02 astrdark

@SevastyanDark Это и есть обработка ответов от ВК с ошибками 1-3 https://github.com/vk-brain/sketal/blob/master/bot.py#L199

michaelkryukov avatar Feb 21 '18 15:02 michaelkryukov