diff options
Diffstat (limited to 'discord/http.py')
| -rw-r--r-- | discord/http.py | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/discord/http.py b/discord/http.py index 1b93cc35..67529495 100644 --- a/discord/http.py +++ b/discord/http.py @@ -354,6 +354,7 @@ class HTTPClient: nonce=None, allowed_mentions=None, message_reference=None, + components=None, ): r = Route('POST', '/channels/{channel_id}/messages', channel_id=channel_id) payload = {} @@ -376,6 +377,9 @@ class HTTPClient: if message_reference: payload['message_reference'] = message_reference + if components: + payload['components'] = components + return self.request(r, json=payload) def send_typing(self, channel_id): @@ -393,6 +397,7 @@ class HTTPClient: nonce=None, allowed_mentions=None, message_reference=None, + components=None, ): form = [] @@ -409,6 +414,8 @@ class HTTPClient: payload['allowed_mentions'] = allowed_mentions if message_reference: payload['message_reference'] = message_reference + if components: + payload['components'] = components form.append({'name': 'payload_json', 'value': utils.to_json(payload)}) if len(files) == 1: @@ -445,6 +452,7 @@ class HTTPClient: nonce=None, allowed_mentions=None, message_reference=None, + components=None, ): r = Route('POST', '/channels/{channel_id}/messages', channel_id=channel_id) return self.send_multipart_helper( @@ -456,6 +464,7 @@ class HTTPClient: nonce=nonce, allowed_mentions=allowed_mentions, message_reference=message_reference, + components=components, ) def delete_message(self, channel_id, message_id, *, reason=None): @@ -1210,14 +1219,21 @@ class HTTPClient: return self.request(route, form=form, files=[file]) - def create_interaction_response(self, interaction_id, token): + def create_interaction_response(self, interaction_id, token, *, type, data=None): r = Route( 'POST', '/interactions/{interaction_id}/{interaction_token}/callback', interaction_id=interaction_id, interaction_token=token, ) - return self.request(r) + payload = { + 'type': type, + } + + if data is not None: + payload['data'] = data + + return self.request(r, json=payload) def get_original_interaction_response( self, |