ekonda / kutana

The library for developing systems for messengers and social networks
MIT License
72 stars 17 forks source link

Ошибка при обработке update #83

Closed daeeros closed 10 months ago

daeeros commented 10 months ago
2024-01-04 19:50:54,281 [ ERROR ] Task exception was never retrieved
future: <Task finished name='Task-4' coro=<Telegram.acquire_updates() done, defined at /root/kutana/kutana/backends/telegram.py:215> exception=KeyError('file_name')>
Traceback (most recent call last):
  File "/root/kutana/kutana/backends/telegram.py", line 229, in acquire_updates
    await queue.put((self._make_update(raw_update), self))
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/kutana/kutana/backends/telegram.py", line 198, in _make_update
    attachments.append(self._make_attachment(raw_update["message"][kind], kind))
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/kutana/kutana/backends/telegram.py", line 147, in _make_attachment
    title=raw_attachment["file_name"],
          ~~~~~~~~~~~~~~^^^^^^^^^^^^^
KeyError: 'file_name'
daeeros commented 10 months ago
2024-01-04 19:54:07,410 [ ERROR ] Task exception was never retrieved
future: <Task finished name='Task-4' coro=<Telegram.acquire_updates() done, defined at /root/kutana/kutana/backends/telegram.py:215> exception=ValueError('Attachment at least should have id or content')>
Traceback (most recent call last):
  File "/root/kutana/kutana/backends/telegram.py", line 229, in acquire_updates
    await queue.put((self._make_update(raw_update), self))
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/kutana/kutana/backends/telegram.py", line 198, in _make_update
    attachments.append(self._make_attachment(raw_update["message"][kind], kind))
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/kutana/kutana/backends/telegram.py", line 160, in _make_attachment
    return Attachment(
           ^^^^^^^^^^^
  File "/root/kutana/kutana/update.py", line 30, in __init__
    raise ValueError("Attachment at least should have id or content")
ValueError: Attachment at least should have id or content
michaelkryukov commented 10 months ago

Лучше прикреплять минимальный пример воспроизведения – плагин, проблемный файл, клиент, через которые сообщение отправляется. В итоге там действительно поле "file_name" просто отсутствовало (оно опциональное).

Вторая ошибка не воспроизвелась – если она ещё есть, стоит завести отдельный тикет с более подробным описание проблемы.

daeeros commented 10 months ago

Лучше прикреплять минимальный пример воспроизведения – плагин, проблемный файл, клиент, через которые сообщение отправляется. В итоге там действительно поле "file_name" просто отсутствовало (оно опциональное).

Вторая ошибка не воспроизвелась – если она ещё есть, стоит завести отдельный тикет с более подробным описание проблемы.

К сожалению это произошло пару раз на проде, не было возможности логирования update