擅长:python、mysql、java
<p>根据Nathan Marotte的回答,我将提供一个代码示例</p>
<p>您可以使用<a href="https://discordpy.readthedocs.io/en/latest/api.html#discord.VoiceClient.on_voice_state_update" rel="nofollow noreferrer">on_voice_state_update</a>函数来检查成员所在的通道</p>
<p>因此,请查看以下<strong>代码:</strong></p>
<pre class="lang-py prettyprint-override"><code>@bot.event
async def on_voice_state_update(member, before, after):
targetID = bot.get_user(TargetIDHere)
if before.channel is None and after.channel is not None and member.id == targetID.id: # Condition that must be fulfilled
await member.voice.channel.connect() # Connect to the channel
</code></pre>
<p>解释代码中的不同功能:</strong></em></p>
<p><code>before.channel is None</code>=检查用户是否不在频道中/不在频道中</p>
<p><code>after.channel is not None</code>=检查用户加入的频道,然后授予角色</p>
<p><code>member.id == targetID.id</code>=检查加入的<code>member.id</code>是否与<code>targetID.id</code>匹配</p>