From 8db79d2579e78de0441f887b71845d3d2a151203 Mon Sep 17 00:00:00 2001 From: Arthur Date: Sat, 31 Jul 2021 03:27:10 +0200 Subject: [PATCH] Add Thread.category --- discord/threads.py | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/discord/threads.py b/discord/threads.py index 04b096104..7a6664b15 100644 --- a/discord/threads.py +++ b/discord/threads.py @@ -47,7 +47,7 @@ if TYPE_CHECKING: ThreadArchiveDuration, ) from .guild import Guild - from .channel import TextChannel + from .channel import TextChannel, CategoryChannel from .member import Member from .message import Message, PartialMessage from .abc import Snowflake, SnowflakeTime @@ -238,6 +238,26 @@ class Thread(Messageable, Hashable): """ return self._state._get_message(self.last_message_id) if self.last_message_id else None + @property + def category(self) -> Optional[CategoryChannel]: + """The category channel the parent channel belongs to, if applicable. + + Raises + ------- + ClientException + The parent channel was not cached and returned ``None``. + + Returns + ------- + Optional[:class:`CategoryChannel`] + The parent channel's category. + """ + + parent = self.parent + if parent is None: + raise ClientException('Parent channel not found') + return parent.category + @property def category_id(self) -> Optional[int]: """The category channel ID the parent channel belongs to, if applicable.