code: async def add_reaction(self, emoji):
          
  
          emoji = self._emoji_reaction(emoji)
          await self._state.http.add_reaction(self.channel.id, self.id, emoji)
docs: |coro|
  
          Add a reaction to the message.
  
          The emoji may be a unicode emoji or a custom guild :class:`Emoji`.
  
          You must have the :attr:`~Permissions.read_message_history` permission
          to use this. If nobody else has reacted to the message using this
          emoji, the :attr:`~Permissions.add_reactions` permission is required.
  
          Parameters
          ------------
          emoji: Union[:class:`Emoji`, :class:`Reaction`, :class:`PartialEmoji`, :class:`str`]
              The emoji to react with.
  
          Raises
          --------
          HTTPException
              Adding the reaction failed.
          Forbidden
              You do not have the proper permissions to react to the message.
          NotFound
              The emoji you specified was not found.
          InvalidArgument
              The emoji parameter is invalid.