如何用空格指定频道名称



我为我的discord.py机器人创建了一个join命令,但如果我用空格指定了一个通道名称,它就不会连接到他。它抛出AttributeError,表示找不到通道。

@commands.command()
async def join(self, ctx, channelname):
channel = discord.utils.get(ctx.guild.channels, name=channelname)
await channel.connect()

您需要在最后一个参数之前添加一个*,以接收完整的字符串,如下所示:

async def join(ctx, *, args):

所以你的功能看起来是这样的:

@commands.command()
async def join(ctx, *, channelname):
channel = discord.utils.get(ctx.guild.channels, name = channelname)
await channel.connect()

最新更新