Как получить "статус" голосового канала?
Я хочу, чтобы бот изменял статус в голосовом канале. Попытался использовать disnake, но не вижу, чтобы бот вообще получал информацию об этом.
[
А бот возращает:
<VoiceState self_mute=True self_deaf=False self_stream=False suppress=False requested_to_speak_at=None channel=<VoiceChannel id=1102995572442529942 name='[➕] Create VC' rtc_region=None position=0 bitrate=64000 video_quality_mode=<VideoQualityMode.auto: 1> user_limit=0 category_id= 1102995471355617280 nsfw=False flags=<ChannelFlags value=0>>>
(узнаю через print(ctx.author.voice))
Что делать?
Ответы (1 шт):
Автор решения: Виталий
→ Ссылка
Пробовали использовать библиотеку discord.py?
Вот примерный код
import discord
from discord.ext import commands
intents = discord.Intents.default()
intents.voice_states = True
bot = commands.Bot(command_prefix='!', intents=intents)
@bot.event
async def on_ready():
print('Bot is ready')
@bot.command()
async def status(ctx):
voice_state = ctx.author.voice
if voice_state is not None:
voice_channel = voice_state.channel
if voice_channel is not None:
await bot.change_presence(activity=discord.Activity(type=discord.ActivityType.listening, name=f'in {voice_channel.name}'))
await ctx.send(f'Bot status changed to {voice_channel.name}')
else:
await ctx.send('You are not in a voice channel')
else:
await ctx.send('You are not connected to a voice channel')
bot.run('YOUR_BOT_TOKEN')