Beispiel #1
0
    async def on_raw_reaction_add(self, event: RawReactionActionEvent):
        reaction_data = dict(me=False, count=0)
        reaction = Reaction(message=self.message, data=reaction_data, emoji=str(event.emoji))

        user = await self.bot.fetch_user(event.user_id)

        await self.on_reaction_add(reaction, user)
Beispiel #2
0
    async def on_raw_reaction_add(self, event: RawReactionActionEvent):
        """
        This listener is used for DMs to bypass having to use member intents
        """
        message = await self.channel.fetch_message(event.message_id)
        reaction_data = dict(me=False, count=0)
        reaction = Reaction(message=message, data=reaction_data, emoji=str(event.emoji))

        user = await self.bot.fetch_user(event.user_id)

        await self.on_reaction_add(reaction, user)
 async def parse_message_reaction_remove_emoji(self, data, old):
     emoji = PartialEmoji.with_state(
         self,
         id=utils._get_as_snowflake(data["emoji"], "id"),
         name=data["emoji"]["name"],
     )
     raw = RawReactionClearEmojiEvent(data, emoji)
     self.dispatch("raw_reaction_clear_emoji", raw)
     message = await self._get_message(raw.message_id)
     if message:
         reaction = Reaction(message=message,
                             data=data,
                             emoji=await self._upgrade_partial_emoji(emoji))
         self.dispatch("reaction_clear_emoji", reaction)
 async def parse_message_reaction_remove(self, data, old):
     emoji = PartialEmoji.with_state(
         self,
         id=utils._get_as_snowflake(data["emoji"], "id"),
         name=data["emoji"]["name"],
     )
     raw = RawReactionActionEvent(data, emoji, "REACTION_REMOVE")
     self.dispatch("raw_reaction_remove", raw)
     message = await self._get_message(raw.message_id)
     if message:
         reaction = Reaction(message=message,
                             data=data,
                             emoji=await self._upgrade_partial_emoji(emoji))
         user = await self._get_reaction_user(message.channel, raw.user_id)
         if user:
             self.dispatch("reaction_remove", reaction, user)
 async def parse_message_reaction_add(self, data, old):
     emoji = PartialEmoji.with_state(
         self,
         id=utils._get_as_snowflake(data["emoji"], "id"),
         animated=data["emoji"].get("animated", False),
         name=data["emoji"]["name"],
     )
     raw = RawReactionActionEvent(data, emoji, "REACTION_ADD")
     member = data.get("member")
     if member:
         guild = await self._get_guild(raw.guild_id)
         if guild:
             raw.member = Member(guild=guild, state=self, data=member)
     self.dispatch("raw_reaction_add", raw)
     message = await self._get_message(raw.message_id)
     if message:
         reaction = Reaction(message=message,
                             data=data,
                             emoji=await self._upgrade_partial_emoji(emoji))
         user = raw.member or await self._get_reaction_user(
             message.channel, raw.user_id)
         if user:
             self.dispatch("reaction_add", reaction, user)