Как получить "статус" голосового канала?

Я хочу, чтобы бот изменял статус в голосовом канале. Попытался использовать disnake, но не вижу, чтобы бот вообще получал информацию об этом.

[картинка1

А бот возращает: <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')
→ Ссылка