Бот не может замутить пользователя
import discord
from discord.ext import commands
bot = commands.Bot(command_prefix='!')
@bot.command(pass_context = True)
async def mute(ctx, *, reason=None):
channel = ctx.author.voice.channel
users = channel.members
for user in users:
await user.edit(reason=reason, mute=True)
@bot.command(pass_context = True)
async def unmute(ctx, *, reason=None):
channel = ctx.author.voice.channel
users = channel.members
for user in users:
await user.edit(reason=reason, mute=False)
bot.run(TOKEN)
Этот бот видит имя только одного человека из канал и не может никого замутить
Ответы (2 шт):
Автор решения: xZartsust
→ Ссылка
Я так понимаю что этот код что вы написали должен мутить человека в голосовом чате, тогда попробуйте так:
@bot.command()
async def mute(ctx, member: discord.Member, *, reason=None):
channel = ctx.author.voice.channel
await channel.set_permissions(member, mute = True)
Автор решения: Роман Сиджах
→ Ссылка
Скорее всего у вас не включены намерения шлюза. Чтобы включить их, сделайте следующее:
Зайдите на портал разработчика, откройте ваше приложения, на боковой панели зайдите в Bot, там пункт Priveleged Gateway Intents, перетяните оба переключателя пониже в состояние ВКЛ(это Member Intents и Presence Intents), сохраните изменения. Далее, перейдите к коду бота, и замените bot = commands.Bot(command_prefix='!') на bot = commands.Bot(command_prefix='!', intents=discord.Intents.all)