大家好,我正在编写一个不和谐的机器人,我想在用户进入和离开语音频道时进行登录。但显然,我现在有点困惑。你们对我如何使用 on_voice_state_update()
有什么想法吗?
答案 0 :(得分:1)
请参阅here。
它有两个参数before
和after
,所以要检查是否有人离开,只需比较before
和after
,如果不一样,你可以将其记录在某个文件中(也许 json
或 pickle
或 sqlite
库可以帮助解决此问题)
我在下面提供了一些快速示例代码:
@client.event
async def on_voice_state_update(member, before, after):
if before.channel is None and after.channel is not None:
print("difference")
我们观察到一些事情:首先,before
和after
是VoiceState
对象,您可以查看它们的属性here,这就是我获得{{1} } 等等。
其次,before.channel
是您为机器人命名的任何内容(即 client
)
答案 1 :(得分:0)
@bot.event
async def on_voice_state_update(member, before, after):
...
文档:discord.py