机器人不想显示频道的 ID



我想让机器人打印成员连接到的通道的id。

@client.event
async def on_voice_state_update(member, before, after):
channelid = discord.VoiceChannel.id
print(f'{channelid}')

当我加入这个频道时,我会得到这个:

<member 'id' of 'VoiceChannel' objects>

因为您正在尝试获取VoiceChannelid,而VoiceChannel是一个类,而不是一个实际的通道。要获取语音频道的id,可以使用before.channel.idafter.channel.id。这取决于你想做什么。所以你可以这样更改你的代码:

@client.event
async def on_voice_state_update(member, before, after):
channelid = before.channel.id
print(f'{channelid}')

据我所知,如果成员加入语音通道,那么before.channel.id返回None,如果成员离开语音通道,则after.channel.id返回None

最新更新