如何在 discord.py 中记录用户的离开和加入语音频道的时间?



嘿,伙计们,我正在写一个discord bot,我想在用户进入和离开语音频道时登录。但显然,我现在有点困惑。你们对我如何使用on_voice_state_update()有什么想法吗?

请参阅此处。

它有两个参数beforeafter,所以要检查是否有人离开了,只需比较beforeafter,如果不一样,你可以将其记录在某个文件中(也许jsonpicklesqlite库可以帮助实现这一点(

我在下面提供了一些快速示例代码:

@client.event
async def on_voice_state_update(member, before, after):
if before.channel is None and after.channel is not None: 
print("difference")

我们观察到一些事情:首先,beforeafterVoiceState对象,你可以在这里查看它们的属性,这就是我获得before.channel的方法,等等

其次,client是你给你的机器人命名的任何东西(即client = commands.Bot(..)(

@bot.event
async def on_voice_state_update(member, before, after):
...

docs:discord.py

最新更新