Задать вопрос
@NecromancerZerratul
Начинающий прогер

Забивается ли память бота от некоторых активных классов?

Я задался таким вопросом, так как класс disnake.ui.View имеет атрибут таймаут. Вот что мне интересно, если прописать timeout = None, то предела времени ожидания нет. То есть допустим меню не деактивируется. Это влияет на бота если таких меню активно несколько? Если да, то как деактивировать запущенные меню? И так же что будет с памятью если сообщение удалить? Так как на сколько я знаю, это влияет на модальные окна
  • Вопрос задан
  • 65 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
fenrir1121
@fenrir1121 Куратор тега discord.py
Начни с документации
Забивается. А что вы хотите делать с этой информацией?

Для начала disnake.ui.View это класс для создания вью, а не ее представление.
Далее если очень упрощенно вью состоит из id, childrens и timeout_task.
- По id определяется что-за формочка нажата
- В childrens хранятся коллбеки на все функции, которые должны быть вызваны при операциях со всеми элементами на ней
- timeout_task это корутина, которая спит timeout секунд, а дальше прибивает вью.

В питоне очистка памяти осуществляется через счетчик ссылок на объект и поиск циклических ссылок, поэтому естественно пока она не прибита на все это будут ссылки и следовательно они будут висеть в памяти.

Я напомню, что discord.py в целом кэширует данные по командам, серверам, пользователям и сообщениям, чтобы уменьшить обращения к API дискорда, так что может просто памяти докинуть, а не лезть в эту кроличью нору?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы