好的,所以我对 python 和编程还是很陌生,一般来说,试图让我的不和谐机器人加入我的频道,但是当我输入命令时,它没有加入。我尝试了几种不同的方法。这是代码:@client.eventasync def voice_chat(message, VoiceChannel): if message.content == "!join": musicplayer = VoiceChannel.connect()我还尝试用客户端替换两个 VoiceChannels,但它仍然没有用,我也尝试用 await 替换 if message.content 但没有任何尝试。有谁知道这段代码有什么问题?
1 回答
墨色风雨
TA贡献1853条经验 获得超6个赞
你需要使用 commands.command()
@commands.command()
async def join(self, ctx, voice_channel):
然后使用 voice_channel.connect()
voice_channel.connect()
我建议也使用 a VoiceChannelConverter。所以总的来说,你的函数应该看起来有点像这样减去你想要的任何其他逻辑。
from discord.ext import commands
@commands.command()
async def join(self, ctx, voice_channel: commands.VoiceChannelConverter):
try:
await voice_channel.connect()
except commands.BotMissingPermissions as error:
#send them a prettied up message saying HEY I NEED {} PERMS!
await ctx.send(f"I have joined: {voice_channel}")
另请注意,这应该在 cog/ extension 内,因此请考虑到这一点。至少这是正常的约定,类似于“语音”齿轮。
添加回答
举报
0/150
提交
取消