在 Discord.py (重写) 中,可以通过检查机器人所在的 VoiceChannel 对象来判断它是否已经加入了指定的通道。以下是一种实现方法:
import discord
async def check_bot_in_channel(guild_id, channel_id):
guild = discord.utils.get(bot.guilds, id=guild_id) # 获取服务器对象
channel = discord.utils.get(guild.channels, id=channel_id) # 获取通道对象
voice_states = guild.voice_states # 获取服务器中所有成员的语音状态
for member in voice_states:
if voice_states[member].channel == channel: # 判断成员所在的语音通道是否与指定通道相同
return True
return False
is_in_channel = await check_bot_in_channel("服务器ID", "通道ID")
if is_in_channel:
print("机器人已经在指定通道中")
else:
print("机器人不在指定通道中")
这样,你就可以通过 Discord.py (重写) 检查机器人是否已经在你要求它加入的通道中了。
请注意,以上代码仅为示例,实际使用时需要根据你的具体情况进行适当的修改。
领取专属 10元无门槛券
手把手带您无忧上云