擅长:python、mysql、java
<p>请参阅<a href="https://discordpy.readthedocs.io/en/latest/api.html#discord.on_voice_state_update" rel="nofollow noreferrer">here</a></p>
<p>它包含两个参数<code>before</code>和<code>after</code>,因此要检查是否有人离开,只需比较<code>before</code>和<code>after</code>,如果不一样,您可以将其记录在某个文件中(可能<code>json</code>或<code>pickle</code>或<code>sqlite</code>库可以提供帮助)</p>
<p>我在下面提供了一些快速示例代码:</p>
<pre><code>@client.event
async def on_voice_state_update(member, before, after):
if before.channel is None and after.channel is not None:
print("difference")
</code></pre>
<p>我们观察到一些事情:首先,<code>before</code>和<code>after</code>是<code>VoiceState</code>对象,您可以查看它们的属性<a href="https://discordpy.readthedocs.io/en/latest/api.html#discord.VoiceState" rel="nofollow noreferrer">here</a>,这就是我获取<code>before.channel</code>的方式,等等</p>
<p>其次,<code>client</code>是您命名的bot(即<code>client = commands.Bot(..)</code>)</p>