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:
|
for role_id in setting.value:
|
||||||
e_role = ctx.guild.get_role(role_id)
|
e_role = ctx.guild.get_role(role_id)
|
||||||
if not e_role:
|
if not e_role:
|
||||||
setting.value.remove(role_id)
|
|
||||||
continue
|
continue
|
||||||
roles.append(e_role)
|
roles.append(e_role)
|
||||||
if roles:
|
if roles:
|
||||||
|
@ -73,6 +72,13 @@ class RolegiverCog(commands.Cog):
|
||||||
|
|
||||||
await ctx.send(embed=embed)
|
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(
|
@cog_ext.cog_subcommand(
|
||||||
base="rolegiver",
|
base="rolegiver",
|
||||||
name="remove",
|
name="remove",
|
||||||
|
@ -102,7 +108,6 @@ class RolegiverCog(commands.Cog):
|
||||||
for role_id in setting.value:
|
for role_id in setting.value:
|
||||||
e_role = ctx.guild.get_role(role_id)
|
e_role = ctx.guild.get_role(role_id)
|
||||||
if not e_role:
|
if not e_role:
|
||||||
setting.value.remove(role_id)
|
|
||||||
continue
|
continue
|
||||||
roles.append(e_role)
|
roles.append(e_role)
|
||||||
|
|
||||||
|
@ -132,6 +137,13 @@ class RolegiverCog(commands.Cog):
|
||||||
|
|
||||||
await ctx.send(embed=embed)
|
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(
|
@cog_ext.cog_subcommand(
|
||||||
base="rolegiver",
|
base="rolegiver",
|
||||||
name="list",
|
name="list",
|
||||||
|
@ -147,7 +159,6 @@ class RolegiverCog(commands.Cog):
|
||||||
for role_id in setting.value:
|
for role_id in setting.value:
|
||||||
e_role = ctx.guild.get_role(role_id)
|
e_role = ctx.guild.get_role(role_id)
|
||||||
if not e_role:
|
if not e_role:
|
||||||
setting.value.remove(role_id)
|
|
||||||
continue
|
continue
|
||||||
roles.append(e_role)
|
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}")
|
embed.set_footer(text=f"{ctx.author.name}#{ctx.author.discriminator} | {ctx.author.id}")
|
||||||
|
|
||||||
await ctx.send(embed=embed)
|
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()
|
setting.save()
|
||||||
|
|
||||||
@cog_ext.cog_subcommand(
|
@cog_ext.cog_subcommand(
|
||||||
|
|
Loading…
Add table
Reference in a new issue