@@ -453,17 +453,11 @@ def _start_presence_updates(self) -> None:
453453 def toggle_message_reaction (
454454 self , message : Message , reaction_to_toggle : str
455455 ) -> None :
456- # Check if reaction_to_toggle is a valid original/alias
457456 assert reaction_to_toggle in self .all_emoji_names
458457
459458 for emoji_name , emoji_data in self .active_emoji_data .items ():
460- if (
461- reaction_to_toggle == emoji_name
462- or reaction_to_toggle in emoji_data ["aliases" ]
463- ):
464- # Found the emoji to toggle. Store its code/type and dont check further
465- emoji_code = emoji_data ["code" ]
466- emoji_type = emoji_data ["type" ]
459+ if reaction_to_toggle in (emoji_name , * emoji_data ["aliases" ]):
460+ emoji_code , emoji_type = emoji_data ["code" ], emoji_data ["type" ]
467461 break
468462
469463 reaction_to_toggle_spec = dict (
@@ -1838,25 +1832,22 @@ def _handle_reaction_event(self, event: Event) -> None:
18381832 """
18391833 assert event ["type" ] == "reaction"
18401834 message_id = event ["message_id" ]
1841- # If the message is indexed
18421835 if message_id in self .index ["messages" ]:
18431836 message = self .index ["messages" ][message_id ]
18441837 if event ["op" ] == "add" :
18451838 message ["reactions" ].append (
18461839 {
1847- "user" : event ["user" ],
1848- "reaction_type" : event ["reaction_type" ],
1849- "emoji_code" : event ["emoji_code" ],
1850- "emoji_name" : event ["emoji_name" ],
1840+ key : event .get (key )
1841+ for key in ["user" , "reaction_type" , "emoji_code" , "emoji_name" ]
18511842 }
18521843 )
18531844 else :
1854- emoji_code = event ["emoji_code" ]
18551845 for reaction in message ["reactions" ]:
18561846 # Since Who reacted is not displayed,
18571847 # remove the first one encountered
1858- if reaction ["emoji_code" ] == emoji_code :
1848+ if reaction ["emoji_code" ] == event [ " emoji_code" ] :
18591849 message ["reactions" ].remove (reaction )
1850+ break
18601851
18611852 self .index ["messages" ][message_id ] = message
18621853 self ._update_rendered_view (message_id )
0 commit comments