我为我的 discord.py bot 创建了一个 join 命令,但是如果我用空格指定了一个频道名称,它就不会连接到他。它抛出一个 AttributeError,表示无法找到频道。
@commands.command()
async def join(self, ctx, channelname):
channel = discord.utils.get(ctx.guild.channels, name=channelname)
await channel.connect()
答案 0 :(得分:2)
您需要在最后一个参数前添加一个 *
以获取完整的字符串,如下所示:
async def join(ctx, *, args):
所以你的函数看起来像这样:
@commands.command()
async def join(ctx, *, channelname):
channel = discord.utils.get(ctx.guild.channels, name = channelname)
await channel.connect()