nikid_t
@nikid_t
Just a student who likes python) and not only

Unknown interaction, как исправить?

Есть некая панель с кнопками. Timeout выставлен на None. Всю работает идеально, пока панелью пользуются. После нескольких часов простоя начинается самое интересное. После простоя кнопки работают буквально 2-3 раза и выдается ошибка:
Ignoring exception in view <ViewButtons_panel timeout=None children=13> for item <Create_Buttons_panel style=<ButtonStyle.primary: 1> url=None disabled=True label='salo' emoji=None row=None>:
Traceback (most recent call last):
  File ".local/lib/python3.10/site-packages/discord/ui/view.py", line 414, in _scheduled_task
    await item.callback(interaction)
  File "main.py", line 35, in panel_play
    await interaction.response.defer()
  File ".local/lib/python3.10/site-packages/discord/interactions.py", line 655, in defer
    await self._locked_response(
  File ".local/lib/python3.10/site-packages/discord/interactions.py", line 1090, in _locked_response
    await coro
  File ".local/lib/python3.10/site-packages/discord/webhook/async_.py", line 219, in request
    raise NotFound(response, data)
discord.errors.NotFound: 404 Not Found (error code: 10062): Unknown interaction


Фрагмент кода:
class ViewButtons_panel(View):

    def __init__(self):
        super().__init__(timeout=None)



    async def panel_play(self, interaction: discord.Interaction):

        self.disable_all_items()

        await interaction.message.edit(view = self)

        await interaction.response.defer()


Конечно, можно обработать исключение и перегенерировать кнопки, но хотел бы разобраться в этом.
  • Вопрос задан
  • 155 просмотров
Пригласить эксперта
Ответы на вопрос 1
fenrir1121
@fenrir1121 Куратор тега discord.py
Начни с документации
Ошибка возникает на строке await interaction.response.defer(), которой в "некоей панели с кнопками" вообще не должно быть.
Единственное предназначение команды defer - отложить ответное взаимодействие пользователю, если не успеваешь дать ответ за 3 секунды.

По приложенному коду дать ответ невозможно, поскольку не приложено ни то, где и как вьюха вызывается, ни регистратор обработки при перезапуске, ни кода собственно кнопок, которые перестают работать. Так что берите пример из официальной документации и сравнивайте, что ничего не пропустили. В комментариях все подробно расписано.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы