aboutsummaryrefslogtreecommitdiff
path: root/discord/ui
diff options
context:
space:
mode:
Diffstat (limited to 'discord/ui')
-rw-r--r--discord/ui/view.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/discord/ui/view.py b/discord/ui/view.py
index b6ddf4e6..f6dac241 100644
--- a/discord/ui/view.py
+++ b/discord/ui/view.py
@@ -23,7 +23,7 @@ DEALINGS IN THE SOFTWARE.
"""
from __future__ import annotations
-from typing import Any, Callable, ClassVar, Dict, Iterator, List, Optional, TYPE_CHECKING, Tuple
+from typing import Any, Callable, ClassVar, Dict, Iterator, List, Optional, Sequence, TYPE_CHECKING, Tuple
from functools import partial
from itertools import groupby
@@ -370,6 +370,15 @@ class ViewStore:
self._synced_message_views: Dict[int, View] = {}
self._state: ConnectionState = state
+ @property
+ def persistent_views(self) -> Sequence[View]:
+ views = {
+ view.id: view
+ for (_, (view, _, _)) in self._views.items()
+ if view.is_persistent()
+ }
+ return list(views.values())
+
def __verify_integrity(self):
to_remove: List[Tuple[int, str]] = []
now = time.monotonic()