Raise an exception if an interaction has been responded before

Fix #7153
This commit is contained in:
Rapptz
2021-07-03 00:30:32 -04:00
parent b7b75e2b1f
commit 7ca90874b9
3 changed files with 42 additions and 4 deletions

View File

@ -36,6 +36,7 @@ __all__ = (
'LoginFailure',
'ConnectionClosed',
'PrivilegedIntentsRequired',
'InteractionResponded',
)
class DiscordException(Exception):
@ -213,3 +214,21 @@ class PrivilegedIntentsRequired(ClientException):
'and explicitly enable the privileged intents within your application\'s page. If this is not ' \
'possible, then consider disabling the privileged intents instead.'
super().__init__(msg % shard_id)
class InteractionResponded(ClientException):
"""Exception that's raised when sending another interaction response using
:class:`InteractionResponse` when one has already been done before.
An interaction can only respond once.
.. versionadded:: 2.0
Attributes
-----------
interaction: :class:`Interaction`
The interaction that's already been responded to.
"""
def __init__(self, interaction):
self.interaction = interaction
super().__init__('This interaction has already been responded to before')