reactions.py 863 B

1234567891011121314151617181920212223242526
  1. from utils import (
  2. reacted_user_is_bot,
  3. in_bot_channel,
  4. get_role_from_payload,
  5. get_reacted_user
  6. )
  7. class Reactions:
  8. async def on_raw_reaction_add(self, payload):
  9. channel = self.get_channel(payload.channel_id)
  10. if await reacted_user_is_bot(self, payload) or await in_bot_channel(channel=channel):
  11. return
  12. role = await get_role_from_payload(self, payload, channel)
  13. await payload.member.add_roles(role)
  14. async def on_raw_reaction_remove(self, payload):
  15. channel = self.get_channel(payload.channel_id)
  16. if await reacted_user_is_bot(self, payload) or await in_bot_channel(channel=channel):
  17. return
  18. role = await get_role_from_payload(self, payload, channel)
  19. reacted_user = await get_reacted_user(self, payload)
  20. await reacted_user.remove_roles(role)