python - Bot不想显示频道的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>
解决方案
因为您正在尝试获取VoiceChannel
id,并且VoiceChannel
是一个类,而不是一个实际的频道。要获取语音通道的 ID,您可以使用before.channel.id
或after.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
。
推荐阅读
- amazon-s3 - 如何在使用 gsutil rsync -x 时排除文件
- swift - 如何将值附加到字典内的字典(Swift 4)
- javascript - 尝试在 a href 的附加语句中使用 javascript 变量
- java - 有没有办法将这个 for 循环改为使用 Java 流?
- c# - 登录网站后如何获取html源代码?
- sql-server - SELECT DISTINCT 问题,选择多个预订
- php - Laravel Eloquent 获取关系字段
- python - Flask文件上传不保存文件
- r - R中的colorBin()传单没有按预期工作
- clang - 在不使用 opt 工具的情况下运行 LLVM Pass