python273 / vk_api

Модуль для создания скриптов для ВКонтакте | vk.com API wrapper
https://pypi.org/project/vk-api/
Apache License 2.0
1.33k stars 321 forks source link

Long Poll #144

Closed PimyDev closed 6 years ago

PimyDev commented 6 years ago

Иногда скрипт крашится с такой ошибкой.

Traceback (most recent call last):
  File "bot.py", line 228, in <module>
    main()
  File "bot.py", line 134, in main
    for event in longpoll.listen():
  File "/usr/local/lib/python3.5/dist-packages/vk_api/longpoll.py", line 378, in listen
    for event in self.check():
  File "/usr/local/lib/python3.5/dist-packages/vk_api/longpoll.py", line 323, in check
    timeout=self.wait + 10
  File "/usr/lib/python3/dist-packages/requests/models.py", line 808, in json
    return complexjson.loads(self.text, **kwargs)
  File "/usr/lib/python3.5/json/__init__.py", line 319, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.5/json/decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.5/json/decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
python273 commented 6 years ago

Можно унаследоваться от VkLongPoll и обрабатывать как хочешь:

class MyVkLongPoll(VkLongPoll):
    def listen(self):
        while True:
            try: 
                for event in self.check():
                    yield event
            except Exception as e:
                print('error', e)
                ...