aboutsummaryrefslogtreecommitdiff
path: root/discord/http.py
diff options
context:
space:
mode:
Diffstat (limited to 'discord/http.py')
-rw-r--r--discord/http.py20
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,