diff options
Diffstat (limited to 'discord/threads.py')
| -rw-r--r-- | discord/threads.py | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/discord/threads.py b/discord/threads.py index 24eda651..daf7e518 100644 --- a/discord/threads.py +++ b/discord/threads.py @@ -23,6 +23,7 @@ DEALINGS IN THE SOFTWARE. """ from __future__ import annotations + from typing import Callable, Dict, Iterable, List, Optional, Union, TYPE_CHECKING import time import asyncio @@ -48,7 +49,7 @@ if TYPE_CHECKING: from .guild import Guild from .channel import TextChannel from .member import Member - from .message import Message + from .message import Message, PartialMessage from .abc import Snowflake, SnowflakeTime from .role import Role from .permissions import Permissions @@ -191,6 +192,7 @@ class Thread(Messageable, Hashable): self._unroll_metadata(data['thread_metadata']) except KeyError: pass + @property def type(self) -> ChannelType: """:class:`ChannelType`: The channel's Discord type.""" @@ -626,6 +628,29 @@ class Thread(Messageable, Hashable): """ await self._state.http.delete_channel(self.id) + def get_partial_message(self, message_id: int, /) -> PartialMessage: + """Creates a :class:`PartialMessage` from the message ID. + + This is useful if you want to work with a message and only have its ID without + doing an unnecessary API call. + + .. versionadded:: 2.0 + + Parameters + ------------ + message_id: :class:`int` + The message ID to create a partial message for. + + Returns + --------- + :class:`PartialMessage` + The partial message. + """ + + from .message import PartialMessage + + return PartialMessage(channel=self, id=message_id) + def _add_member(self, member: ThreadMember) -> None: self._members[member.id] = member |