好的,所以我仍然对python和程序设计还很陌生,通常试图让我的不和谐机器人加入我的频道,但是当我键入命令时却没有加入。我尝试了几种不同的方法。这是代码:
@client.event
async def voice_chat(message, VoiceChannel):
if message.content == "!join":
musicplayer = VoiceChannel.connect()
我还尝试用客户端替换两个VoiceChannel,但仍然无法正常工作,如果尝试将message.content替换为await,但我也尝试将其替换,但没有任何尝试。有人知道这段代码有什么问题吗?
答案 0 :(得分:0)
您需要使用commands.command()
@commands.command()
async def join(self, ctx, voice_channel):
voice_channel.connect()
我建议也使用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 / 扩展名之内,因此请考虑在内。至少这是正常习惯,类似于“语音”嵌齿轮。