Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ These changes are available on the `master` branch, but have not yet been releas
([#2905](https://github.com/Pycord-Development/pycord/pull/2905))
- `view=None` in various methods causing an AttributeError.
([#2915](https://github.com/Pycord-Development/pycord/pull/2915))
- `View.message` being `None` when it had not been interacted with yet.
([#2916](https://github.com/Pycord-Development/pycord/pull/2916))

### Removed

Expand Down
16 changes: 9 additions & 7 deletions discord/interactions.py
Original file line number Diff line number Diff line change
Expand Up @@ -1030,7 +1030,7 @@ async def send_message(

flags = MessageFlags(ephemeral=ephemeral)

if view is not None:
if view:
payload["components"] = view.to_components()
if view.is_components_v2():
if embeds or content:
Expand Down Expand Up @@ -1100,16 +1100,18 @@ async def send_message(
for file in files:
file.close()

if view is not None:
self._responded = True
await self._process_callback_response(callback_response)
if view and not view.is_finished():
if ephemeral and view.timeout is None:
view.timeout = 15 * 60.0

view.parent = self._parent
if view.is_dispatchable():
self._parent._state.store_view(view)

self._responded = True
await self._process_callback_response(callback_response)
view.message = await self._parent.original_response()

if delete_after is not None:
await self._parent.delete_original_response(delay=delete_after)
return self._parent
Expand Down Expand Up @@ -1268,12 +1270,12 @@ async def edit_message(
for file in files:
file.close()

self._responded = True
await self._process_callback_response(callback_response)
if view and not view.is_finished():
view.message = msg
view.message = msg or await parent.original_response()
state.store_view(view, message_id)

self._responded = True
await self._process_callback_response(callback_response)
if delete_after is not None:
await self._parent.delete_original_response(delay=delete_after)

Expand Down
Loading