嘿,伙计们,我正在写一个discord bot,我想在用户进入和离开语音频道时登录。但显然,我现在有点困惑。你们对我如何使用on_voice_state_update()
有什么想法吗?
请参阅此处。
它有两个参数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
对象,你可以在这里查看它们的属性,这就是我获得before.channel
的方法,等等
其次,client
是你给你的机器人命名的任何东西(即client = commands.Bot(..)
(
@bot.event
async def on_voice_state_update(member, before, after):
...
docs:discord.py