@@ -613,11 +613,13 @@ async def edit_original_response(
613
613
# The message channel types should always match
614
614
state = _InteractionMessageState (self , self ._state )
615
615
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
+
617
622
view .message = message
618
- view .refresh (message .components )
619
- if view .is_dispatchable ():
620
- self ._state .store_view (view , message .id )
621
623
622
624
if delete_after is not None :
623
625
await self .delete_original_response (delay = delete_after )
@@ -1030,7 +1032,7 @@ async def send_message(
1030
1032
1031
1033
flags = MessageFlags (ephemeral = ephemeral )
1032
1034
1033
- if view is not None :
1035
+ if view :
1034
1036
payload ["components" ] = view .to_components ()
1035
1037
if view .is_components_v2 ():
1036
1038
if embeds or content :
@@ -1100,16 +1102,19 @@ async def send_message(
1100
1102
for file in files :
1101
1103
file .close ()
1102
1104
1103
- if view is not None :
1104
- if ephemeral and view .timeout is None :
1105
- view .timeout = 15 * 60.0
1106
-
1107
- view .parent = self ._parent
1108
- if view .is_dispatchable ():
1109
- self ._parent ._state .store_view (view )
1110
-
1111
1105
self ._responded = True
1112
1106
await self ._process_callback_response (callback_response )
1107
+ if view :
1108
+ if not view .is_finished ():
1109
+ if ephemeral and view .timeout is None :
1110
+ view .timeout = 15 * 60.0
1111
+
1112
+ view .parent = self ._parent
1113
+ if view .is_dispatchable ():
1114
+ self ._parent ._state .store_view (view )
1115
+
1116
+ view .message = await self ._parent .original_response ()
1117
+
1113
1118
if delete_after is not None :
1114
1119
await self ._parent .delete_original_response (delay = delete_after )
1115
1120
return self ._parent
@@ -1268,12 +1273,13 @@ async def edit_message(
1268
1273
for file in files :
1269
1274
file .close ()
1270
1275
1271
- if view and not view .is_finished ():
1272
- view .message = msg
1273
- state .store_view (view , message_id )
1274
-
1275
1276
self ._responded = True
1276
1277
await self ._process_callback_response (callback_response )
1278
+ if view :
1279
+ if not view .is_finished ():
1280
+ state .store_view (view , message_id )
1281
+ view .message = msg or await parent .original_response ()
1282
+
1277
1283
if delete_after is not None :
1278
1284
await self ._parent .delete_original_response (delay = delete_after )
1279
1285
0 commit comments