Disnake | Не работает команда mute
Не работает команда mute. При использовании команды на пользователя он все равно может писать.
@bot.event #on server join
async def on_guild_join(guild):
role_name = "whMuted"
role = await guild.create_role(name=role_name)
role = disnake.utils.get(ctx.guild.roles, name="whMuted")
role.permissions.update(send_messages=False, view_channel = True)
Как я выяснил проблема с разрешениями так как роль выдаётся без проблем. Код ошибок не выдает.
@bot.command() #mute
async def mute(ctx, member: disnake.Member):
if ctx.author.guild_permissions.mute_members:
mute_role = disnake.utils.get(ctx.guild.roles, name="whMuted")
await member.add_roles(mute_role)
await ctx.send(f"{member.mention} был замьючен!")
else:
await ctx.send("У вас нет прав!")
Ответы (1 шт):
Автор решения: Anchar
→ Ссылка
скорее всего проблема связана с правами ролей на сервере попробуйте:
- Проверить, стоит ли роль мута выше чем самая высокая роль участника
- Нет ли прав на отправку сообщений у роли @everyone как в списке ролей так и в настройках канала(если есть, то поставить на нейтрал) (лучше вообще для роли @everyone в настройках канала всё на нейтрал(если вы используете роль участника))
- Если вы всё же используете роль участника, то отправку сообщений в настройках канала так же поставьте на нейтрал
Вроде всё, если ошибка в настройках сервера, то это должно помочь