1
0
forked from sass/tipibot

Edit discord role rights

This commit is contained in:
Rene Arumetsa
2026-06-01 22:19:12 +03:00
parent 24de79c503
commit 42f7bae681
6 changed files with 73 additions and 19 deletions

27
core/admin.py Normal file
View File

@@ -0,0 +1,27 @@
from __future__ import annotations
import discord
from discord import app_commands
import config
def is_bot_admin(member: discord.Member) -> bool:
"""Return True if the member has the configured bot-admin role for their guild."""
role_id = config.BOT_ADMIN_ROLES.get(member.guild.id)
if role_id is None:
return False
return any(r.id == role_id for r in member.roles)
def bot_admin_check():
"""Slash-command check decorator: raises MissingPermissions if not a bot admin."""
def predicate(interaction: discord.Interaction) -> bool:
member = interaction.user
if not isinstance(member, discord.Member):
raise app_commands.MissingPermissions(["bot_admin"])
if not is_bot_admin(member):
raise app_commands.MissingPermissions(["bot_admin"])
return True
return app_commands.check(predicate)