Fix rolegiver
This commit is contained in:
parent
b142e7bcdb
commit
2595b87061
1 changed files with 32 additions and 37 deletions
|
@ -69,10 +69,7 @@ class RolegiverCog(Scale):
|
|||
)
|
||||
|
||||
embed.set_thumbnail(url=ctx.guild.icon.url)
|
||||
embed.set_author(
|
||||
name=ctx.author.display_name,
|
||||
icon_url=ctx.author.display_avatar,
|
||||
)
|
||||
embed.set_author(name=ctx.author.display_name, icon_url=ctx.author.display_avatar.url)
|
||||
|
||||
embed.set_footer(text=f"{ctx.author.username}#{ctx.author.discriminator} | {ctx.author.id}")
|
||||
|
||||
|
@ -106,17 +103,21 @@ class RolegiverCog(Scale):
|
|||
message = await ctx.send(content="\u200b", components=components)
|
||||
try:
|
||||
context = await self.bot.wait_for_component(
|
||||
self.bot,
|
||||
check=lambda x: ctx.author.id == x.author.id,
|
||||
check=lambda x: ctx.author.id == x.context.author.id,
|
||||
messages=message,
|
||||
timeout=60 * 1,
|
||||
)
|
||||
removed_roles = []
|
||||
for to_delete in context.context.values:
|
||||
role = await ctx.guild.get_role(to_delete)
|
||||
if role:
|
||||
removed_roles.append(role)
|
||||
setting.roles.remove(int(to_delete))
|
||||
setting.save()
|
||||
|
||||
for row in components:
|
||||
for component in row["components"]:
|
||||
component["disabled"] = True
|
||||
for component in row.components:
|
||||
component.disabled = True
|
||||
|
||||
roles = []
|
||||
for role_id in setting.roles:
|
||||
|
@ -129,8 +130,9 @@ class RolegiverCog(Scale):
|
|||
roles.sort(key=lambda x: -x.position)
|
||||
|
||||
value = "\n".join([r.mention for r in roles]) if roles else "None"
|
||||
rvalue = "\n".join([r.mention for r in removed_roles]) if removed_roles else "None"
|
||||
fields = [
|
||||
EmbedField(name="Removed Role", value=f"{role.mention}"),
|
||||
EmbedField(name="Removed Role(s)", value=rvalue),
|
||||
EmbedField(name="Remaining Role(s)", value=value),
|
||||
]
|
||||
|
||||
|
@ -141,24 +143,21 @@ class RolegiverCog(Scale):
|
|||
)
|
||||
|
||||
embed.set_thumbnail(url=ctx.guild.icon.url)
|
||||
embed.set_author(
|
||||
name=ctx.author.display_name,
|
||||
icon_url=ctx.author.display_avatar,
|
||||
)
|
||||
embed.set_author(name=ctx.author.display_name, icon_url=ctx.author.display_avatar.url)
|
||||
|
||||
embed.set_footer(
|
||||
text=f"{ctx.author.username}#{ctx.author.discriminator} | {ctx.author.id}"
|
||||
)
|
||||
|
||||
await context.context.edit_origin(
|
||||
content=f"Removed {len(context.selected_options)} role(s)",
|
||||
content=f"Removed {len(context.context.values)} role(s)",
|
||||
embed=embed,
|
||||
components=components,
|
||||
)
|
||||
except asyncio.TimeoutError:
|
||||
for row in components:
|
||||
for component in row["components"]:
|
||||
component["disabled"] = True
|
||||
for component in row.components:
|
||||
component.disabled = True
|
||||
await message.edit(components=components)
|
||||
|
||||
@slash_command(name="rolegiver", sub_cmd_name="list", description="List rolegiver roles")
|
||||
|
@ -188,8 +187,8 @@ class RolegiverCog(Scale):
|
|||
|
||||
embed.set_thumbnail(url=ctx.guild.icon.url)
|
||||
embed.set_author(
|
||||
name=ctx.author.nick if ctx.author.nick else ctx.author.username,
|
||||
icon_url=ctx.author.display_avatar,
|
||||
name=ctx.author.display_name,
|
||||
icon_url=ctx.author.display_avatar.url,
|
||||
)
|
||||
|
||||
embed.set_footer(text=f"{ctx.author.username}#{ctx.author.discriminator} | {ctx.author.id}")
|
||||
|
@ -212,8 +211,7 @@ class RolegiverCog(Scale):
|
|||
|
||||
select = Select(
|
||||
options=options,
|
||||
custom_id="to_delete",
|
||||
placeholder="Select roles to remove",
|
||||
placeholder="Select roles to add",
|
||||
min_values=1,
|
||||
max_values=len(options),
|
||||
)
|
||||
|
@ -223,7 +221,7 @@ class RolegiverCog(Scale):
|
|||
|
||||
try:
|
||||
context = await self.bot.wait_for_component(
|
||||
check=lambda x: ctx.author.id == x.author_id,
|
||||
check=lambda x: ctx.author.id == x.context.author.id,
|
||||
messages=message,
|
||||
timeout=60 * 5,
|
||||
)
|
||||
|
@ -248,14 +246,14 @@ class RolegiverCog(Scale):
|
|||
|
||||
embed = build_embed(
|
||||
title="User Given Role",
|
||||
description=f"{role.mention} given to {ctx.author.mention}",
|
||||
description=f"{len(added_roles)} role(s) given to {ctx.author.mention}",
|
||||
fields=fields,
|
||||
)
|
||||
|
||||
embed.set_thumbnail(url=ctx.guild.icon.url)
|
||||
embed.set_author(
|
||||
name=ctx.author.display_name,
|
||||
icon_url=ctx.author.display_avatar,
|
||||
icon_url=ctx.author.display_avatar.url,
|
||||
)
|
||||
|
||||
embed.set_footer(
|
||||
|
@ -263,14 +261,14 @@ class RolegiverCog(Scale):
|
|||
)
|
||||
|
||||
for row in components:
|
||||
for component in row["components"]:
|
||||
component["disabled"] = True
|
||||
for component in row.components:
|
||||
component.disabled = True
|
||||
|
||||
await context.context.edit_origin(embed=embed, content="\u200b", components=components)
|
||||
except asyncio.TimeoutError:
|
||||
for row in components:
|
||||
for component in row["components"]:
|
||||
component["disabled"] = True
|
||||
for component in row.components:
|
||||
component.disabled = True
|
||||
await message.edit(components=components)
|
||||
|
||||
@slash_command(name="role", sub_cmd_name="remove", sub_cmd_description="Remove a role")
|
||||
|
@ -305,7 +303,7 @@ class RolegiverCog(Scale):
|
|||
|
||||
try:
|
||||
context = await self.bot.wait_for_component(
|
||||
check=lambda x: ctx.author.id == x.author_id,
|
||||
check=lambda x: ctx.author.id == x.context.author.id,
|
||||
messages=message,
|
||||
timeout=60 * 5,
|
||||
)
|
||||
|
@ -329,30 +327,27 @@ class RolegiverCog(Scale):
|
|||
|
||||
embed = build_embed(
|
||||
title="User Forfeited Role",
|
||||
description=f"{role.mention} taken from {ctx.author.mention}",
|
||||
description=f"{len(removed_roles)} role(s) removed from {ctx.author.mention}",
|
||||
fields=fields,
|
||||
)
|
||||
|
||||
embed.set_thumbnail(url=ctx.guild.icon.url)
|
||||
embed.set_author(
|
||||
name=ctx.author.display_name,
|
||||
icon_url=ctx.author.display_avatar,
|
||||
)
|
||||
embed.set_author(name=ctx.author.display_name, icon_url=ctx.author.display_avatar.url)
|
||||
|
||||
embed.set_footer(
|
||||
text=f"{ctx.author.username}#{ctx.author.discriminator} | {ctx.author.id}"
|
||||
)
|
||||
|
||||
for row in components:
|
||||
for component in row["components"]:
|
||||
component["disabled"] = True
|
||||
for component in row.components:
|
||||
component.disabled = True
|
||||
|
||||
await context.context.edit_origin(embed=embed, components=components, content="\u200b")
|
||||
|
||||
except asyncio.TimeoutError:
|
||||
for row in components:
|
||||
for component in row["components"]:
|
||||
component["disabled"] = True
|
||||
for component in row.components:
|
||||
component.disabled = True
|
||||
await message.edit(components=components)
|
||||
|
||||
@slash_command(
|
||||
|
|
Loading…
Add table
Reference in a new issue