Я знаю, что задавал этот вопрос до , но новое обновление неожиданно сломало мой код. Вот что у меня есть:
def predicate(ctx):
return Moderation.mod_role in ctx.author.roles
has_mod_role = commands.check(predicate)
class Moderation(commands.Cog):
mod_role = None
def __init__(self, bot: commands.Bot):
self.bot = bot
self.mod_role = ...
@commands.command()
@has_mod_role
async def command(self, ctx):
...
Раньше это работало, но теперь Moderation.mod_role изменился с роли, определенной в функции, на None, поэтому команды не работают ни с кем, даже с если им нужна необходимая роль.
Я использую python 3.8 и discord.py 1.3.1.