Skip to content

Commit 2785543

Browse files
authored
Fixed some issuas but dont use defere if you wanna use interaction.edit yet
1 parent fbfe056 commit 2785543

File tree

4 files changed

+23
-21
lines changed

4 files changed

+23
-21
lines changed

discord/abc.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -1030,8 +1030,9 @@ async def send(self, content=None, *, tts=False, embed=None, components=None, fi
10301030
elif isinstance(component, DropdownMenue):
10311031
coponent_liste.append(component.to_dict())
10321032
elif isinstance(component, ActionRow):
1033-
components_list.append(component.sendable())
1033+
components_list.extend(component.sendable())
10341034
components = components_list
1035+
print(component)
10351036

10361037

10371038
if allowed_mentions is not None:

discord/http.py

+6-4
Original file line numberDiff line numberDiff line change
@@ -451,12 +451,14 @@ def post_initial_response(self, use_webhook, _resp, interaction_id, token, appli
451451
r = Route("POST", r_url, self.V8BASE)
452452
return self.request(r, json=_resp )
453453

454-
def edit_interaction_response(self, use_webhook, interaction_id, token, application_id, fields):
455-
r_url = f"/webhooks/{application_id}/{token}" if use_webhook is True else f"/interactions/{interaction_id}/{token}/callback"
456-
if fields.get('type', None) == 7:
457-
r = Route("POST", r_url, self.V8BASE)
454+
def edit_interaction_response(self, use_webhook, interaction_id, token, application_id, deffered, fields):
455+
print(deffered)
456+
if not deffered:
457+
fields['type'] = 7
458+
r = Route("POST", f"/webhooks/{application_id}/{token}" if use_webhook is True else f"/interactions/{interaction_id}/{token}/callback", self.V8BASE)
458459
else:
459460
r = Route('PATCH', f"/webhooks/{application_id}/{token}/messages/@original" if use_webhook is True else f"/interactions/{application_id}/{token}/messages/@original", self.V8BASE)
461+
print(fields)
460462
return self.request(r, json=fields)
461463

462464
def add_reaction(self, channel_id, message_id, emoji):

discord/message.py

+14-15
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@
4040
from .partial_emoji import PartialEmoji
4141
from .calls import CallMessage
4242
from .enums import MessageType, ChannelType, try_enum
43-
from .errors import InvalidArgument, ClientException, HTTPException, NotFound
43+
from .errors import InvalidArgument, ClientException, HTTPException, NotFound, UnknowInteraction
4444
from .embeds import Embed
4545
from .components import DecodeMessageComponents, Button, DropdownMenue, ActionRow
4646
from .member import Member
@@ -842,7 +842,7 @@ def clean_content(self):
842842
.. note::
843843
844844
This *does not* affect markdown. If you want to escape
845-
or remove markdown then use :func:`utils.escape_markdown` or :func:`utils.remove_markdown`
845+
or remove markdown then use :func:`utils.escape_markdown` or :func:`utils.remove_markdown`
846846
respectively, along with this function.
847847
"""
848848

@@ -1154,17 +1154,19 @@ async def edit(self, **fields):
11541154
interaction_token = fields.pop('__interaction_token', None)
11551155
application_id = fields.pop('__application_id', None)
11561156
payload = {'data': fields}
1157-
if not deffered is True:
1157+
if not deffered:
11581158
payload['type'] = 7
11591159
if payload:
11601160
try:
11611161
data = await self._state.http.edit_interaction_response(use_webhook=use_webhook,
11621162
interaction_id=interaction_id,
11631163
token=interaction_token,
11641164
application_id=application_id,
1165+
deffered=deffered,
11651166
fields=payload)
1166-
except NotFound:
1167-
raise NotFound("You have already responded to this Interaction!")
1167+
except Exception as exc:
1168+
print (exc)
1169+
raise UnknowInteraction(application_id)
11681170
else:
11691171
self._update(dict(data))
11701172

@@ -1685,19 +1687,16 @@ async def edit(self, **fields):
16851687
interaction_token = fields.pop('__interaction_token', None)
16861688
application_id = fields.pop('__application_id', None)
16871689
payload = {'data': fields}
1688-
if not deffered is True:
1689-
payload['type'] = 7
16901690
if payload:
16911691
try:
1692-
r = await self._state.http.edit_interaction_response(use_webhook=use_webhook,
1693-
interaction_id=interaction_id,
1694-
token=interaction_token,
1695-
application_id=application_id,
1696-
fields=payload)
1692+
data = await self._state.http.edit_interaction_response(use_webhook=use_webhook,
1693+
interaction_id=interaction_id,
1694+
token=interaction_token,
1695+
application_id=application_id,
1696+
deffered=deffered,
1697+
fields=payload)
16971698
except NotFound:
1698-
raise NotFound(r, "You have already responded to this Interaction!")
1699-
else:
1700-
self._update(payload['data'])
1699+
raise UnknowInteraction(application_id)
17011700

17021701
elif is_interaction_responce is None:
17031702
payload = await self._state.http.edit_message(self.channel.id, self.id, **fields)

discord/raw_models.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,7 @@ async def edit(self, **fields):
288288
self.message: Message = await self.channel.fetch_message(self._message_id)
289289

290290
try:
291-
await self.message.edit(__is_interaction_responce=True, __deffered=self._deferred, __use_webhook=False, __interaction_id=self.__interaction_id, __interaction_token=self.__token, __application_id=self.__application_id, **fields)
291+
await self.message.edit(__is_interaction_responce=True, __deffered=self.deffered, __use_webhook=False, __interaction_id=self.__interaction_id, __interaction_token=self.__token, __application_id=self.__application_id, **fields)
292292
except NotFound:
293293
pass
294294
else:

0 commit comments

Comments
 (0)