@@ -772,21 +772,16 @@ def parse_message_delete_bulk(self, data) -> None:
772
772
self ._messages .remove (msg ) # type: ignore
773
773
774
774
def parse_message_update (self , data ) -> None :
775
- raw = RawMessageUpdateEvent (data )
776
- message = self ._get_message (raw .message_id )
777
- if message is not None :
778
- older_message = copy .copy (message )
779
- raw .cached_message = older_message
780
- self .dispatch ("raw_message_edit" , raw )
781
- message ._update (data )
782
- # Coerce the `after` parameter to take the new updated Member
783
- # ref: #5999
784
- older_message .author = message .author
785
- self .dispatch ("message_edit" , older_message , message )
775
+ old_message = self ._get_message (raw .message_id )
776
+ channel , _ = self ._get_guild_channel (data )
777
+ message = Message (channel = channel , data = data , state = self )
778
+ raw = RawMessageUpdateEvent (data , message )
779
+ self .dispatch ("raw_message_edit" , raw )
780
+ if old_message is not None :
781
+ self .dispatch ("message_edit" , old_message , message )
786
782
else :
787
783
if poll_data := data .get ("poll" ):
788
784
self .store_raw_poll (poll_data , raw )
789
- self .dispatch ("raw_message_edit" , raw )
790
785
791
786
if "components" in data and self ._view_store .is_message_tracked (raw .message_id ):
792
787
self ._view_store .update_from_message (raw .message_id , data ["components" ])
0 commit comments