async def create_thread(self, *, name: str, auto_archive_duration: ThreadArchiveDuration=MISSING, slowmode_delay: Optional[int]=None, reason: Optional[str]=None) -> Thread:
    "|coro|\n\n        Creates a public thread from this message.\n\n        You must have :attr:`~discord.Permissions.create_public_threads` in order to\n        create a public thread from a message.\n\n        The channel this message belongs in must be a :class:`TextChannel`.\n\n        .. versionadded:: 2.0\n\n        Parameters\n        -----------\n        name: :class:`str`\n            The name of the thread.\n        auto_archive_duration: :class:`int`\n            The duration in minutes before a thread is automatically archived for inactivity.\n            If not provided, the channel's default auto archive duration is used.\n        slowmode_delay: Optional[:class:`int`]\n            Specifies the slowmode rate limit for user in this channel, in seconds.\n            The maximum value possible is `21600`. By default no slowmode rate limit\n            if this is ``None``.\n        reason: Optional[:class:`str`]\n            The reason for creating a new thread. Shows up on the audit log.\n\n        Raises\n        -------\n        Forbidden\n            You do not have permissions to create a thread.\n        HTTPException\n            Creating the thread failed.\n        ValueError\n            This message does not have guild info attached.\n\n        Returns\n        --------\n        :class:`.Thread`\n            The created thread.\n        "
    if (self.guild is None):
        raise ValueError('This message does not have guild info attached.')
    default_auto_archive_duration: ThreadArchiveDuration = getattr(self.channel, 'default_auto_archive_duration', 1440)
    data = (await self._state.http.start_thread_with_message(self.channel.id, self.id, name=name, auto_archive_duration=(auto_archive_duration or default_auto_archive_duration), rate_limit_per_user=slowmode_delay, reason=reason))
    return Thread(guild=self.guild, state=self._state, data=data)
|coro|

Creates a public thread from this message.

You must have :attr:`~discord.Permissions.create_public_threads` in order to
create a public thread from a message.

The channel this message belongs in must be a :class:`TextChannel`.

.. versionadded:: 2.0

Parameters
-----------
name: :class:`str`
    The name of the thread.
auto_archive_duration: :class:`int`
    The duration in minutes before a thread is automatically archived for inactivity.
    If not provided, the channel's default auto archive duration is used.
slowmode_delay: Optional[:class:`int`]
    Specifies the slowmode rate limit for user in this channel, in seconds.
    The maximum value possible is `21600`. By default no slowmode rate limit
    if this is ``None``.
reason: Optional[:class:`str`]
    The reason for creating a new thread. Shows up on the audit log.

Raises
-------
Forbidden
    You do not have permissions to create a thread.
HTTPException
    Creating the thread failed.
ValueError
    This message does not have guild info attached.

Returns
--------
:class:`.Thread`
    The created thread.
async def create_thread(self, *, name: str, auto_archive_duration: ThreadArchiveDuration=MISSING, slowmode_delay: Optional[int]=None, reason: Optional[str]=None) -> Thread:
    "|coro|\n\n        Creates a public thread from this message.\n\n        You must have :attr:`~discord.Permissions.create_public_threads` in order to\n        create a public thread from a message.\n\n        The channel this message belongs in must be a :class:`TextChannel`.\n\n        .. versionadded:: 2.0\n\n        Parameters\n        -----------\n        name: :class:`str`\n            The name of the thread.\n        auto_archive_duration: :class:`int`\n            The duration in minutes before a thread is automatically archived for inactivity.\n            If not provided, the channel's default auto archive duration is used.\n        slowmode_delay: Optional[:class:`int`]\n            Specifies the slowmode rate limit for user in this channel, in seconds.\n            The maximum value possible is `21600`. By default no slowmode rate limit\n            if this is ``None``.\n        reason: Optional[:class:`str`]\n            The reason for creating a new thread. Shows up on the audit log.\n\n        Raises\n        -------\n        Forbidden\n            You do not have permissions to create a thread.\n        HTTPException\n            Creating the thread failed.\n        ValueError\n            This message does not have guild info attached.\n\n        Returns\n        --------\n        :class:`.Thread`\n            The created thread.\n        "
    if (self.guild is None):
        raise ValueError('This message does not have guild info attached.')
    default_auto_archive_duration: ThreadArchiveDuration = getattr(self.channel, 'default_auto_archive_duration', 1440)
    data = (await self._state.http.start_thread_with_message(self.channel.id, self.id, name=name, auto_archive_duration=(auto_archive_duration or default_auto_archive_duration), rate_limit_per_user=slowmode_delay, reason=reason))
    return Thread(guild=self.guild, state=self._state, data=data)