Bot不想显示频道ID

时间:2020-10-11 09:43:15

标签: python python-3.x discord.py

我希望机器人打印该成员连接到的频道的ID。

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

当我加入此频道时,我得到了:

<member 'id' of 'VoiceChannel' objects>

1 个答案:

答案 0 :(得分:1)

因为您尝试获取VoiceChannel的ID,而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。 / p>