def deserialize_message_reaction_remove_emoji_event( self, shard: gateway_shard.GatewayShard, payload: data_binding.JSONObject ) -> reaction_events.ReactionDeleteEmojiEvent: channel_id = snowflakes.Snowflake(payload["channel_id"]) message_id = snowflakes.Snowflake(payload["message_id"]) emoji = self._app.entity_factory.deserialize_emoji(payload["emoji"]) if "guild_id" in payload: return reaction_events.GuildReactionDeleteEmojiEvent( app=self._app, shard=shard, emoji=emoji, guild_id=snowflakes.Snowflake(payload["guild_id"]), channel_id=channel_id, message_id=message_id, ) # TODO: check if this can even occur. return reaction_events.DMReactionDeleteEmojiEvent( app=self._app, shard=shard, emoji=emoji, channel_id=channel_id, message_id=message_id, )
def deserialize_message_reaction_remove_emoji_event( self, shard: gateway_shard.GatewayShard, payload: data_binding.JSONObject ) -> reaction_events.ReactionDeleteEmojiEvent: channel_id = snowflakes.Snowflake(payload["channel_id"]) message_id = snowflakes.Snowflake(payload["message_id"]) emoji_id, emoji_name = self._split_reaction_emoji(payload["emoji"]) if "guild_id" in payload: return reaction_events.GuildReactionDeleteEmojiEvent( app=self._app, shard=shard, emoji_id=emoji_id, emoji_name=emoji_name, guild_id=snowflakes.Snowflake(payload["guild_id"]), channel_id=channel_id, message_id=message_id, ) return reaction_events.DMReactionDeleteEmojiEvent( app=self._app, shard=shard, emoji_id=emoji_id, emoji_name=emoji_name, channel_id=channel_id, message_id=message_id, )