Add support for new thread_name parameter in Webhook.send

This commit is contained in:
Rapptz
2022-05-31 18:22:32 -04:00
parent 259c6733a3
commit e543abd950
3 changed files with 35 additions and 1 deletions

View File

@ -1514,6 +1514,7 @@ class Webhook(BaseWebhook):
allowed_mentions: AllowedMentions = MISSING,
view: View = MISSING,
thread: Snowflake = MISSING,
thread_name: str = MISSING,
wait: Literal[True],
suppress_embeds: bool = MISSING,
) -> WebhookMessage:
@ -1535,6 +1536,7 @@ class Webhook(BaseWebhook):
allowed_mentions: AllowedMentions = MISSING,
view: View = MISSING,
thread: Snowflake = MISSING,
thread_name: str = MISSING,
wait: Literal[False] = ...,
suppress_embeds: bool = MISSING,
) -> None:
@ -1555,6 +1557,7 @@ class Webhook(BaseWebhook):
allowed_mentions: AllowedMentions = MISSING,
view: View = MISSING,
thread: Snowflake = MISSING,
thread_name: str = MISSING,
wait: bool = False,
suppress_embeds: bool = False,
) -> Optional[WebhookMessage]:
@ -1625,6 +1628,13 @@ class Webhook(BaseWebhook):
thread: :class:`~discord.abc.Snowflake`
The thread to send this webhook to.
.. versionadded:: 2.0
thread_name: :class:`str`
The thread name to create with this webhook if the webhook belongs
to a :class:`~discord.ForumChannel`. Note that this is mutually
exclusive with the ``thread`` parameter, as this will create a
new thread with the given name.
.. versionadded:: 2.0
suppress_embeds: :class:`bool`
Whether to suppress embeds for the message. This sends the message without any embeds if set to ``True``.
@ -1640,7 +1650,8 @@ class Webhook(BaseWebhook):
Forbidden
The authorization token for the webhook is incorrect.
TypeError
You specified both ``embed`` and ``embeds`` or ``file`` and ``files``.
You specified both ``embed`` and ``embeds`` or ``file`` and ``files``
or ``thread`` and ``thread_name``.
ValueError
The length of ``embeds`` was invalid, there was no token
associated with this webhook or ``ephemeral`` was passed
@ -1683,6 +1694,9 @@ class Webhook(BaseWebhook):
if ephemeral is True and view.timeout is None:
view.timeout = 15 * 60.0
if thread_name is not MISSING and thread is not MISSING:
raise TypeError('Cannot mix thread_name and thread keyword arguments.')
params = handle_message_parameters(
content=content,
username=username,
@ -1694,6 +1708,7 @@ class Webhook(BaseWebhook):
embeds=embeds,
flags=flags,
view=view,
thread_name=thread_name,
allowed_mentions=allowed_mentions,
previous_allowed_mentions=previous_mentions,
)