Я хочу создать бота discord.py, который может отключать и включать звук. Но я не знаю, как получить VoiceState бота.
import discord, asyncio
from discord.ext import commands
bot = commands.Bot(command_prefix = "/")
@bot.command()
async def unmute(ctx):
voice_client=ctx.guild.voice_client
channel=voice_client.channel
if ???ctx.channel.guild.voice_state???(channel=channel, self_deaf=True):
await ctx.channel.guild.change_voice_state(channel=channel, self_deaf=False)
await ctx.send("Unmuted!")
return
else:
await ctx.send("Error! Not muted!")
return
Вам нужно включить intents.voice_states
.
intents = discord.Intents.default() # enabling everything apart from privileged intents (members and presences)
bot = commands.Bot(command_prefix='/', intents=intents)
Кроме того, это не ctx.channel.guild.voice_state(...)
, это ctx.guild.voice_client
или ctx.voice_client
как видите у меня есть ????? в моем коде, если ???ctx.channel.guild.voice_state???(channel=channel, self_deaf=True):
Я ничего не понимаю из того, что ты говоришь.
также это ctx.voice_client
или ctx.guild.voice_client
не ctx.channel.guild.voice_state
что? что ты имеешь в виду?