Role cleanup at end of command instead of beginning
This commit is contained in:
parent
3972b757c4
commit
a79c15ac76
1 changed files with 19 additions and 3 deletions
|
@ -43,7 +43,6 @@ class RolegiverCog(commands.Cog):
|
|||
for role_id in setting.value:
|
||||
e_role = ctx.guild.get_role(role_id)
|
||||
if not e_role:
|
||||
setting.value.remove(role_id)
|
||||
continue
|
||||
roles.append(e_role)
|
||||
if roles:
|
||||
|
@ -73,6 +72,13 @@ class RolegiverCog(commands.Cog):
|
|||
|
||||
await ctx.send(embed=embed)
|
||||
|
||||
guild_roles = await ctx.guild.fetch_roles()
|
||||
guild_role_ids = [x.id for x in guild_roles]
|
||||
for role_id in setting.value:
|
||||
if role_id not in guild_role_ids:
|
||||
setting.value.remove(role_id)
|
||||
setting.save()
|
||||
|
||||
@cog_ext.cog_subcommand(
|
||||
base="rolegiver",
|
||||
name="remove",
|
||||
|
@ -102,7 +108,6 @@ class RolegiverCog(commands.Cog):
|
|||
for role_id in setting.value:
|
||||
e_role = ctx.guild.get_role(role_id)
|
||||
if not e_role:
|
||||
setting.value.remove(role_id)
|
||||
continue
|
||||
roles.append(e_role)
|
||||
|
||||
|
@ -132,6 +137,13 @@ class RolegiverCog(commands.Cog):
|
|||
|
||||
await ctx.send(embed=embed)
|
||||
|
||||
guild_roles = await ctx.guild.fetch_roles()
|
||||
guild_role_ids = [x.id for x in guild_roles]
|
||||
for role_id in setting.value:
|
||||
if role_id not in guild_role_ids:
|
||||
setting.value.remove(role_id)
|
||||
setting.save()
|
||||
|
||||
@cog_ext.cog_subcommand(
|
||||
base="rolegiver",
|
||||
name="list",
|
||||
|
@ -147,7 +159,6 @@ class RolegiverCog(commands.Cog):
|
|||
for role_id in setting.value:
|
||||
e_role = ctx.guild.get_role(role_id)
|
||||
if not e_role:
|
||||
setting.value.remove(role_id)
|
||||
continue
|
||||
roles.append(e_role)
|
||||
|
||||
|
@ -171,6 +182,11 @@ class RolegiverCog(commands.Cog):
|
|||
embed.set_footer(text=f"{ctx.author.name}#{ctx.author.discriminator} | {ctx.author.id}")
|
||||
|
||||
await ctx.send(embed=embed)
|
||||
guild_roles = await ctx.guild.fetch_roles()
|
||||
guild_role_ids = [x.id for x in guild_roles]
|
||||
for role_id in setting.value:
|
||||
if role_id not in guild_role_ids:
|
||||
setting.value.remove(role_id)
|
||||
setting.save()
|
||||
|
||||
@cog_ext.cog_subcommand(
|
||||
|
|
Loading…
Add table
Reference in a new issue