fix(ranks): Add create permission check.
This commit is contained in:
@@ -6,7 +6,7 @@ from discord.ui.select import select, Select, SelectOption, RoleSelect
|
||||
from discord.ui.button import button, Button, ButtonStyle
|
||||
|
||||
from meta import conf, LionBot
|
||||
from meta.errors import ResponseTimedOut
|
||||
from meta.errors import ResponseTimedOut, SafeCancellation
|
||||
from core.data import RankType
|
||||
from data import ORDER
|
||||
|
||||
@@ -16,7 +16,7 @@ from wards import equippable_role
|
||||
from babel.translator import ctx_translator
|
||||
|
||||
from .. import babel, logger
|
||||
from ..data import AnyRankData
|
||||
from ..data import AnyRankData, RankData
|
||||
from ..utils import rank_model_from_type, format_stat_range, stat_data_to_value
|
||||
from .editor import RankEditor
|
||||
from .preview import RankPreviewUI
|
||||
@@ -157,11 +157,21 @@ class RankOverviewUI(MessageUI):
|
||||
|
||||
Errors if the client does not have permission to create roles.
|
||||
"""
|
||||
t = self.bot.translator.t
|
||||
if not self.guild.me.guild_permissions.manage_roles:
|
||||
raise SafeCancellation(t(_p(
|
||||
'ui:rank_overview|button:create|error:my_permissions',
|
||||
"I lack the 'Manage Roles' permission required to create rank roles!"
|
||||
)))
|
||||
|
||||
async def _create_callback(rank, submit: discord.Interaction):
|
||||
await submit.response.send_message(
|
||||
embed=discord.Embed(
|
||||
colour=discord.Colour.brand_green(),
|
||||
description="Rank Created!"
|
||||
description=t(_p(
|
||||
'ui:rank_overview|button:create|success',
|
||||
"Created a new rank {role}"
|
||||
)).format(role=f"<@&{rank.roleid}>")
|
||||
),
|
||||
ephemeral=True
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user