mirror of
https://github.com/brandons209/Red-bot-Cogs.git
synced 2024-06-02 10:34:54 +12:00
removed adding multiple roles if missing, adds highest role instead
This commit is contained in:
parent
f971bb2252
commit
343055c2f4
|
@ -83,25 +83,18 @@ class UserProfile:
|
||||||
await self._downgrade_level(member)
|
await self._downgrade_level(member)
|
||||||
|
|
||||||
async def _check_role_member(self, member):
|
async def _check_role_member(self, member):
|
||||||
|
# only checks and adds the highest level's role obtainable
|
||||||
roles = await self.data.guild(member.guild).roles()
|
roles = await self.data.guild(member.guild).roles()
|
||||||
lvl = await self.data.member(member).level()
|
lvl = await self.data.member(member).level()
|
||||||
to_add = []
|
to_add = None
|
||||||
for k, v in roles.items():
|
levels = sorted([int(k) for k in roles.keys()], reverse=True)
|
||||||
if lvl >= int(k):
|
for k in levels:
|
||||||
rl = discord.utils.get(member.guild.roles, id=v)
|
if lvl >= k:
|
||||||
# TODO: remove after purge
|
rl = discord.utils.get(member.guild.roles, id=roles[str(k)])
|
||||||
ids = {r.id for r in member.roles}
|
|
||||||
if (
|
if rl not in member.roles:
|
||||||
rl in member.roles
|
to_add = rl
|
||||||
or 508505296797171713 in ids
|
break
|
||||||
or 532720959824592917 in ids
|
|
||||||
or 508497255838253077 in ids
|
|
||||||
):
|
|
||||||
continue
|
|
||||||
else:
|
|
||||||
to_add.append(rl)
|
|
||||||
else:
|
|
||||||
pass
|
|
||||||
|
|
||||||
if to_add:
|
if to_add:
|
||||||
await member.add_roles(rl)
|
await member.add_roles(rl)
|
||||||
|
|
Loading…
Reference in a new issue