Skip to content

Commit ceff3a4

Browse files
OmLankepre-commit-ci[bot]plun1331Lulalaby
authored
fix: store message in view when sent using webhook or when message is edited (#1997)
* store message on view.py Signed-off-by: Om <[email protected]> * Update CHANGELOG.md Signed-off-by: Om <[email protected]> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * updates * Update CHANGELOG.md Co-authored-by: plun1331 <[email protected]> Signed-off-by: Om <[email protected]> --------- Signed-off-by: Om <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: plun1331 <[email protected]> Co-authored-by: Lala Sabathil <[email protected]>
1 parent 8a913c3 commit ceff3a4

File tree

4 files changed

+9
-0
lines changed

4 files changed

+9
-0
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,9 @@ These changes are available on the `master` branch, but have not yet been releas
5050
- Fixed `AttributeError` caused by
5151
[#1957](https://github.com/Pycord-Development/pycord/pull/1957) when using listeners
5252
in cogs. ([#1989](https://github.com/Pycord-Development/pycord/pull/1989))
53+
- Fixed `View.message` not being set when view is sent using webhooks, including
54+
`Interaction.followup.send` or when a message is edited.
55+
([#1997](https://github.com/Pycord-Development/pycord/pull/1997))
5356
- Fixed `None` being handled incorrectly for avatar in `ClientUser.edit`.
5457
([#1994](https://github.com/Pycord-Development/pycord/pull/1994))
5558
- Fixed scheduled events breaking when changing the location from external to a channel.

discord/interactions.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -440,6 +440,7 @@ async def edit_original_response(
440440
state = _InteractionMessageState(self, self._state)
441441
message = InteractionMessage(state=state, channel=self.channel, data=data) # type: ignore
442442
if view and not view.is_finished():
443+
view.message = message
443444
self._state.store_view(view, message.id)
444445

445446
if delete_after is not None:
@@ -976,6 +977,7 @@ async def edit_message(
976977
file.close()
977978

978979
if view and not view.is_finished():
980+
view.message = msg
979981
state.store_view(view, message_id)
980982

981983
self._responded = True

discord/message.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1468,6 +1468,7 @@ async def edit(
14681468
message = Message(state=self._state, channel=self.channel, data=data)
14691469

14701470
if view and not view.is_finished():
1471+
view.message = message
14711472
self._state.store_view(view, self.id)
14721473

14731474
if delete_after is not None:
@@ -2021,5 +2022,6 @@ async def edit(self, **fields: Any) -> Message | None:
20212022
# data isn't unbound
20222023
msg = self._state.create_message(channel=self.channel, data=data) # type: ignore
20232024
if view and not view.is_finished():
2025+
view.message = msg
20242026
self._state.store_view(view, self.id)
20252027
return msg

discord/webhook/async_.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1762,6 +1762,7 @@ async def send(
17621762

17631763
if view is not MISSING and not view.is_finished():
17641764
message_id = None if msg is None else msg.id
1765+
view.message = None if msg is None else msg
17651766
self._state.store_view(view, message_id)
17661767

17671768
if delete_after is not None:
@@ -1957,6 +1958,7 @@ async def edit_message(
19571958

19581959
message = self._create_message(data)
19591960
if view and not view.is_finished():
1961+
view.message = message
19601962
self._state.store_view(view, message_id)
19611963
return message
19621964

0 commit comments

Comments
 (0)