33 lines
1 KiB
Python
33 lines
1 KiB
Python
class Roles:
|
|
async def get_role(self, guild, role):
|
|
fetched_role = None
|
|
for r in guild.roles:
|
|
if r.name == role:
|
|
fetched_role = r
|
|
return fetched_role
|
|
|
|
async def get_roles(self, guild, roles):
|
|
found_roles = []
|
|
for r in guild.roles:
|
|
if r.name in roles:
|
|
found_roles.append(r)
|
|
return found_roles
|
|
|
|
async def add_role(self, guild, role, user):
|
|
fetched_role = await self.get_role(guild, role)
|
|
role_added = False
|
|
if fetched_role is not None:
|
|
if fetched_role not in user.roles:
|
|
await user.add_roles(fetched_role)
|
|
role_added = True
|
|
return role_added
|
|
|
|
async def remove_role(self, guild, role, user):
|
|
fetched_role = await self.get_role(guild, role)
|
|
role_removed = False
|
|
if fetched_role is not None:
|
|
if fetched_role in user.roles:
|
|
await user.remove_roles(fetched_role)
|
|
role_removed = True
|
|
return role_removed
|