Skip to content

Commit 8a550c0

Browse files
committed
fix: store message regardless of finished state
1 parent 95a16cb commit 8a550c0

File tree

1 file changed

+17
-12
lines changed

1 file changed

+17
-12
lines changed

discord/interactions.py

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -613,11 +613,13 @@ async def edit_original_response(
613613
# The message channel types should always match
614614
state = _InteractionMessageState(self, self._state)
615615
message = InteractionMessage(state=state, channel=self.channel, data=data) # type: ignore
616-
if view and not view.is_finished():
616+
if view:
617+
if not view.is_finished():
618+
view.refresh(message.components)
619+
if view.is_dispatchable():
620+
self._state.store_view(view, message.id)
621+
617622
view.message = message
618-
view.refresh(message.components)
619-
if view.is_dispatchable():
620-
self._state.store_view(view, message.id)
621623

622624
if delete_after is not None:
623625
await self.delete_original_response(delay=delete_after)
@@ -1102,16 +1104,18 @@ async def send_message(
11021104

11031105
self._responded = True
11041106
await self._process_callback_response(callback_response)
1105-
if view and not view.is_finished():
1106-
if ephemeral and view.timeout is None:
1107-
view.timeout = 15 * 60.0
1107+
if view:
1108+
if not view.is_finished():
1109+
if ephemeral and view.timeout is None:
1110+
view.timeout = 15 * 60.0
11081111

1109-
view.parent = self._parent
1110-
if view.is_dispatchable():
1111-
self._parent._state.store_view(view)
1112+
view.parent = self._parent
1113+
if view.is_dispatchable():
1114+
self._parent._state.store_view(view)
11121115

11131116
view.message = await self._parent.original_response()
11141117

1118+
11151119
if delete_after is not None:
11161120
await self._parent.delete_original_response(delay=delete_after)
11171121
return self._parent
@@ -1272,9 +1276,10 @@ async def edit_message(
12721276

12731277
self._responded = True
12741278
await self._process_callback_response(callback_response)
1275-
if view and not view.is_finished():
1279+
if view:
1280+
if not view.is_finished():
1281+
state.store_view(view, message_id)
12761282
view.message = msg or await parent.original_response()
1277-
state.store_view(view, message_id)
12781283

12791284
if delete_after is not None:
12801285
await self._parent.delete_original_response(delay=delete_after)

0 commit comments

Comments
 (0)