diff --git a/discord/message.py b/discord/message.py index dc7387a76..e371a3cfe 100644 --- a/discord/message.py +++ b/discord/message.py @@ -825,14 +825,14 @@ class PartialMessage(Hashable): else: previous_allowed_mentions = None - params = handle_message_parameters( + with handle_message_parameters( content=content, attachments=attachments, allowed_mentions=allowed_mentions, previous_allowed_mentions=previous_allowed_mentions, - ) - data = await self._state.http.edit_message(self.channel.id, self.id, params=params) - message = Message(state=self._state, channel=self.channel, data=data) + ) as params: + data = await self._state.http.edit_message(self.channel.id, self.id, params=params) + message = Message(state=self._state, channel=self.channel, data=data) if delete_after is not None: await self.delete(delay=delete_after) @@ -1999,15 +1999,15 @@ class Message(PartialMessage, Hashable): else: flags = MISSING - params = handle_message_parameters( + with handle_message_parameters( content=content, flags=flags, attachments=attachments, allowed_mentions=allowed_mentions, previous_allowed_mentions=previous_allowed_mentions, - ) - data = await self._state.http.edit_message(self.channel.id, self.id, params=params) - message = Message(state=self._state, channel=self.channel, data=data) + ) as params: + data = await self._state.http.edit_message(self.channel.id, self.id, params=params) + message = Message(state=self._state, channel=self.channel, data=data) if delete_after is not None: await self.delete(delay=delete_after) diff --git a/discord/webhook/async_.py b/discord/webhook/async_.py index e99aa3e46..451e6156d 100644 --- a/discord/webhook/async_.py +++ b/discord/webhook/async_.py @@ -1462,7 +1462,7 @@ class Webhook(BaseWebhook): 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( + with handle_message_parameters( content=content, username=username, avatar_url=avatar_url, @@ -1475,24 +1475,24 @@ class Webhook(BaseWebhook): thread_name=thread_name, allowed_mentions=allowed_mentions, previous_allowed_mentions=previous_mentions, - ) - adapter = async_context.get() - thread_id: Optional[int] = None - if thread is not MISSING: - thread_id = thread.id + ) as params: + adapter = async_context.get() + thread_id: Optional[int] = None + if thread is not MISSING: + thread_id = thread.id - data = await adapter.execute_webhook( - self.id, - self.token, - session=self.session, - proxy=self.proxy, - proxy_auth=self.proxy_auth, - payload=params.payload, - multipart=params.multipart, - files=params.files, - thread_id=thread_id, - wait=wait, - ) + data = await adapter.execute_webhook( + self.id, + self.token, + session=self.session, + proxy=self.proxy, + proxy_auth=self.proxy_auth, + payload=params.payload, + multipart=params.multipart, + files=params.files, + thread_id=thread_id, + wait=wait, + ) msg = None if wait: @@ -1624,32 +1624,31 @@ class Webhook(BaseWebhook): raise ValueError('This webhook does not have a token associated with it') previous_mentions: Optional[AllowedMentions] = getattr(self._state, 'allowed_mentions', None) - params = handle_message_parameters( + with handle_message_parameters( content=content, attachments=attachments, embed=embed, embeds=embeds, allowed_mentions=allowed_mentions, previous_allowed_mentions=previous_mentions, - ) + ) as params: + thread_id: Optional[int] = None + if thread is not MISSING: + thread_id = thread.id - thread_id: Optional[int] = None - if thread is not MISSING: - thread_id = thread.id - - adapter = async_context.get() - data = await adapter.edit_webhook_message( - self.id, - self.token, - message_id, - session=self.session, - proxy=self.proxy, - proxy_auth=self.proxy_auth, - payload=params.payload, - multipart=params.multipart, - files=params.files, - thread_id=thread_id, - ) + adapter = async_context.get() + data = await adapter.edit_webhook_message( + self.id, + self.token, + message_id, + session=self.session, + proxy=self.proxy, + proxy_auth=self.proxy_auth, + payload=params.payload, + multipart=params.multipart, + files=params.files, + thread_id=thread_id, + ) message = self._create_message(data, thread=thread) return message diff --git a/discord/webhook/sync.py b/discord/webhook/sync.py index b59a5d48a..0fcce9e43 100644 --- a/discord/webhook/sync.py +++ b/discord/webhook/sync.py @@ -1004,7 +1004,7 @@ class SyncWebhook(BaseWebhook): 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( + with handle_message_parameters( content=content, username=username, avatar_url=avatar_url, @@ -1017,22 +1017,23 @@ class SyncWebhook(BaseWebhook): allowed_mentions=allowed_mentions, previous_allowed_mentions=previous_mentions, flags=flags, - ) - adapter: WebhookAdapter = _get_webhook_adapter() - thread_id: Optional[int] = None - if thread is not MISSING: - thread_id = thread.id + ) as params: + adapter: WebhookAdapter = _get_webhook_adapter() + thread_id: Optional[int] = None + if thread is not MISSING: + thread_id = thread.id + + data = adapter.execute_webhook( + self.id, + self.token, + session=self.session, + payload=params.payload, + multipart=params.multipart, + files=params.files, + thread_id=thread_id, + wait=wait, + ) - data = adapter.execute_webhook( - self.id, - self.token, - session=self.session, - payload=params.payload, - multipart=params.multipart, - files=params.files, - thread_id=thread_id, - wait=wait, - ) if wait: return self._create_message(data, thread=thread) @@ -1141,31 +1142,30 @@ class SyncWebhook(BaseWebhook): raise ValueError('This webhook does not have a token associated with it') previous_mentions: Optional[AllowedMentions] = getattr(self._state, 'allowed_mentions', None) - params = handle_message_parameters( + with handle_message_parameters( content=content, attachments=attachments, embed=embed, embeds=embeds, allowed_mentions=allowed_mentions, previous_allowed_mentions=previous_mentions, - ) - - thread_id: Optional[int] = None - if thread is not MISSING: - thread_id = thread.id - - adapter: WebhookAdapter = _get_webhook_adapter() - data = adapter.edit_webhook_message( - self.id, - self.token, - message_id, - session=self.session, - payload=params.payload, - multipart=params.multipart, - files=params.files, - thread_id=thread_id, - ) - return self._create_message(data, thread=thread) + ) as params: + thread_id: Optional[int] = None + if thread is not MISSING: + thread_id = thread.id + + adapter: WebhookAdapter = _get_webhook_adapter() + data = adapter.edit_webhook_message( + self.id, + self.token, + message_id, + session=self.session, + payload=params.payload, + multipart=params.multipart, + files=params.files, + thread_id=thread_id, + ) + return self._create_message(data, thread=thread) def delete_message(self, message_id: int, /, *, thread: Snowflake = MISSING) -> None: """Deletes a message owned by this webhook.