add support for delete_after kwarg for interaction and webhook messages #79

Open
ethanolchik wants to merge 4 commits from ethanolchik/2.0 into 2.0
2 changed files with 24 additions and 4 deletions
Showing only changes of commit 339bfa62f5 - Show all commits

View File

@@ -749,7 +749,7 @@ class InteractionMessage(Message):
allowed_mentions=allowed_mentions,
)
async def delete(self, *, delay: Optional[float] = None) -> None:
async def delete(self, *, delay: Optional[float] = None, silent: bool = False) -> None:
"""|coro|
Deletes the message.
@@ -759,6 +759,12 @@ class InteractionMessage(Message):
delay: Optional[:class:`float`]
If provided, the number of seconds to wait before deleting the message.
The waiting is done in the background and deletion failures are ignored.
silent: :class:`bool`
If silent is set to ``True``, the error will not be raised, it will be ignored.
This defaults to ``False`
.. versionadded:: 2.0
Raises
------
@@ -780,4 +786,8 @@ class InteractionMessage(Message):
asyncio.create_task(inner_call())
else:
await self._state._interaction.delete_original_message(delay=delay)
try:
await self._state._interaction.delete_original_message(delay=delay)
except Exception:
if not silent:
raise

View File

@@ -717,7 +717,7 @@ class WebhookMessage(Message):
allowed_mentions=allowed_mentions,
)
async def delete(self, *, delay: Optional[float] = None) -> None:
async def delete(self, *, delay: Optional[float] = None, silent: bool = False) -> None:
"""|coro|
Deletes the message.
@@ -727,6 +727,12 @@ class WebhookMessage(Message):
delay: Optional[:class:`float`]
If provided, the number of seconds to wait before deleting the message.
The waiting is done in the background and deletion failures are ignored.
silent: :class:`bool`
If silent is set to ``True``, the error will not be raised, it will be ignored.
This defaults to ``False`
.. versionadded:: 2.0
Raises
------
@@ -748,7 +754,11 @@ class WebhookMessage(Message):
asyncio.create_task(inner_call())
else:
await self._state._webhook.delete_message(self.id, delay)
try:
await self._state._webhook.delete_message(self.id, delay)
except Exception:
if not silent:
raise
class BaseWebhook(Hashable):