Disallow default role from role fields

This commit is contained in:
Zeva Rose 2022-04-19 14:06:43 -06:00
parent 6862c13fe4
commit 410ee3c462
4 changed files with 15 additions and 1 deletions

View file

@ -43,6 +43,10 @@ class RolepingCog(Scale):
await ctx.send(f"Role `{role.name}` already in roleping.", ephemeral=True) await ctx.send(f"Role `{role.name}` already in roleping.", ephemeral=True)
return return
if role.id == ctx.guild.id:
await ctx.send("Cannot add `@everyone` to roleping", ephemeral=True)
return
_ = await Roleping( _ = await Roleping(
role=role.id, role=role.id,
guild=ctx.guild.id, guild=ctx.guild.id,

View file

@ -37,6 +37,10 @@ class RolegiverCog(Scale):
@slash_option(name="role", description="Role to add", opt_type=OptionTypes.ROLE, required=True) @slash_option(name="role", description="Role to add", opt_type=OptionTypes.ROLE, required=True)
@check(admin_or_permissions(Permissions.MANAGE_GUILD)) @check(admin_or_permissions(Permissions.MANAGE_GUILD))
async def _rolegiver_add(self, ctx: InteractionContext, role: Role) -> None: async def _rolegiver_add(self, ctx: InteractionContext, role: Role) -> None:
if role.id == ctx.guild.id:
await ctx.send("Cannot add `@everyone` to rolegiver", ephemeral=True)
return
setting = await Rolegiver.find_one(q(guild=ctx.guild.id)) setting = await Rolegiver.find_one(q(guild=ctx.guild.id))
if setting and role.id in setting.roles: if setting and role.id in setting.roles:
await ctx.send("Role already in rolegiver", ephemeral=True) await ctx.send("Role already in rolegiver", ephemeral=True)

View file

@ -100,6 +100,9 @@ class SettingsCog(Scale):
) )
@check(admin_or_permissions(Permissions.MANAGE_GUILD)) @check(admin_or_permissions(Permissions.MANAGE_GUILD))
async def _set_verified(self, ctx: InteractionContext, role: Role) -> None: async def _set_verified(self, ctx: InteractionContext, role: Role) -> None:
if role.id == ctx.guild.id:
await ctx.send("Cannot set verified to `@everyone`", ephemeral=True)
return
await ctx.defer() await ctx.defer()
await self.update_settings("verified", role.id, ctx.guild.id) await self.update_settings("verified", role.id, ctx.guild.id)
await ctx.send(f"Settings applied. New verified role is `{role.name}`") await ctx.send(f"Settings applied. New verified role is `{role.name}`")
@ -110,6 +113,9 @@ class SettingsCog(Scale):
) )
@check(admin_or_permissions(Permissions.MANAGE_GUILD)) @check(admin_or_permissions(Permissions.MANAGE_GUILD))
async def _set_unverified(self, ctx: InteractionContext, role: Role) -> None: async def _set_unverified(self, ctx: InteractionContext, role: Role) -> None:
if role.id == ctx.guild.id:
await ctx.send("Cannot set unverified to `@everyone`", ephemeral=True)
return
await ctx.defer() await ctx.defer()
await self.update_settings("unverified", role.id, ctx.guild.id) await self.update_settings("unverified", role.id, ctx.guild.id)
await ctx.send(f"Settings applied. New unverified role is `{role.name}`") await ctx.send(f"Settings applied. New unverified role is `{role.name}`")

View file

@ -146,7 +146,7 @@ class UtilCog(Scale):
async def _roleinfo(self, ctx: InteractionContext, role: Role) -> None: async def _roleinfo(self, ctx: InteractionContext, role: Role) -> None:
fields = [ fields = [
EmbedField(name="ID", value=str(role.id), inline=True), EmbedField(name="ID", value=str(role.id), inline=True),
EmbedField(name="Name", value=role.name, inline=True), EmbedField(name="Name", value=role.mention, inline=True),
EmbedField(name="Color", value=str(role.color.hex), inline=True), EmbedField(name="Color", value=str(role.color.hex), inline=True),
EmbedField(name="Mention", value=f"`{role.mention}`", inline=True), EmbedField(name="Mention", value=f"`{role.mention}`", inline=True),
EmbedField(name="Hoisted", value="Yes" if role.hoist else "No", inline=True), EmbedField(name="Hoisted", value="Yes" if role.hoist else "No", inline=True),