Как сделать доступ к команде через роль
Писал простые команды и столкнулся с тем, что обычные пользователи могут их использовать, хотя стоит параметр has_role.
Код:
@bot.slash_command(name="mute", description="Замутить пользователя")
@commands.has_role(1104720197853659259)
async def mute(ctx, member: nextcord.Member,time: int, *,reason=None):
role = member.guild.get_role(1104714301354283139)
embed = nextcord.Embed(color=0xff0000)
embed.add_field(name="?Мут выдан", value=f"Нарушитель: {member}\n Время: {time} минут\n Причина: {reason}")
await ctx.send(embed=embed)
await member.add_roles(role)
await asyncio.sleep(time * 60)
await member.remove_roles(role)
Ответы (2 шт):
Автор решения: Stranger Strog
→ Ссылка
Ответ к этому вопросу я не нашел. Но вижу что вы хотите сделать команду мьюта. И
если хотите сделать команду только для участников у которых есть права на мьют, то используйте это @commands.has_permissions(mute_members=True).
Автор решения: Kiraralein
→ Ссылка
попробуй эту команду @commands.has_any_role("#Вписать нужную роль") или можешь перечислить несколько ("", "") id роли вроде тоже можно воткнуть, но не точно