diff --git a/CHANGELOG.md b/CHANGELOG.md index c5696f04d6..1c39e56e6f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,8 @@ These changes are available on the `master` branch, but have not yet been releas - Fixed breaking change in `ui.Select` Generic typing by adding default values to TypeVars. ([#3002](https://github.com/Pycord-Development/pycord/pull/3002)) +- Fixed `View`'s `disable_on_timeout` not working in private (DM) channels. + ([#3016](https://github.com/Pycord-Development/pycord/pull/3016)) ### Deprecated diff --git a/discord/ui/view.py b/discord/ui/view.py index 9d03339d09..469d76c0b0 100644 --- a/discord/ui/view.py +++ b/discord/ui/view.py @@ -55,6 +55,7 @@ from ..components import TextDisplay as TextDisplayComponent from ..components import Thumbnail as ThumbnailComponent from ..components import _component_factory +from ..enums import ChannelType from ..utils import find from .core import ItemInterface from .item import ItemCallbackType, ViewItem @@ -303,7 +304,11 @@ async def on_timeout(self) -> None: if self.disable_on_timeout: self.disable_all_items() - if not self._message or self._message.flags.ephemeral: + if ( + not self._message + or self._message.flags.ephemeral + or (self._message.channel.type == ChannelType.private) + ): message = self.parent else: message = self.message