iteebot/bot.py
async def on_raw_reaction_remove(self, event):
        """
        Uses the reaction event's message ID to find the course associated
        with the reacted message. If the course is found, the associated role
        is removed from the user who triggered the reaction event.

        Reactions on channels other than the designated singup channel are 
        ignored.

        * event (RawReactionEvent) - reaction event from discord.py
        """

        if event.channel_id != self._cfg["SIGNUP_CHANNEL"]:
            return

        with Session(self._engine) as s:
            course = s.query(db.Course).filter_by(
                message_id=event.message_id
            ).first()
            if not course:
                return
        
        guild = self.get_guild(event.guild_id)
        role = guild.get_role(course.role_id)
        member = guild.get_member(event.user_id)
        await member.remove_roles(role)

        Uses the reaction event's message ID to find the course associated
        with the reacted message. If the course is found, the associated role
        is removed from the user who triggered the reaction event.

        Reactions on channels other than the designated singup channel are 
        ignored.

        * event (RawReactionEvent) - reaction event from discord.py
        
Uses the reaction event's message ID to find the course associated
with the reacted message. If the course is found, the associated role
is removed from the user who triggered the reaction event.

Reactions on channels other than the designated singup channel are
ignored.

event (RawReactionEvent) - reaction event from discord.py
Uses the reaction event ' s message ID to find the course associated with the reacted message . If the course is found the associated role is removed from the user who triggered the reaction event . Reactions on channels other than the designated singup channel are ignored . event ( RawReactionEvent ) - reaction event from discord . py
async def on_raw_reaction_remove(self, event):
        if event.channel_id != self._cfg["SIGNUP_CHANNEL"]:
            return
        with Session(self._engine) as s:
            course = s.query(db.Course).filter_by(
                message_id=event.message_id
            ).first()
            if not course:
                return
        guild = self.get_guild(event.guild_id)
        role = guild.get_role(course.role_id)
        member = guild.get_member(event.user_id)
        await member.remove_roles(role)
async def on_raw_reaction_remove ( self , event ) : if event . channel_id != self . _cfg [ "SIGNUP_CHANNEL" ] : return with Session ( self . _engine ) as s : course = s . query ( db . Course ) . filter_by ( message_id = event . message_id ) . first ( ) if not course : return guild = self . get_guild ( event . guild_id ) role = guild . get_role ( course . role_id ) member = guild . get_member ( event . user_id ) await member . remove_roles ( role )
Uses the reaction event's message ID to find the course associated
with the reacted message.
Uses the reaction event ' s message ID to find the course associated with the reacted message .
"""
        Uses the reaction event's message ID to find the course associated
        with the reacted message. If the course is found, the associated role
        is removed from the user who triggered the reaction event.

        Reactions on channels other than the designated singup channel are 
        ignored.

        * event (RawReactionEvent) - reaction event from discord.py
        """
self
event