机器人只需要一个命令

时间:2020-07-12 18:24:15

标签: python python-3.x discord discord.py

我正在尝试制作一个机器人,在其中键入“!say hello world”时,该机器人将以“ Hello World”回复。但是当我尝试做空格时,它不起作用。

因此,当我简单地键入“!say Hello”时,它将显示以下内容:

如您所见,它工作正常,但是当我放置一个空格例如“!say hello world”时,它显示如下:

如您所见,它仅打印“ Hello”,并且行为就像我没有说“ World”一样。

这是我的代码:

@client.command()
async def say(ctx, arg):
    await ctx.send(arg)

1 个答案:

答案 0 :(得分:4)

查看此处:Commands

由于位置参数只是常规的Python参数,因此您可以根据需要设置任意数量的

@bot.command()
async def test(ctx, arg1, arg2):
    await ctx.send('You passed {} and {}'.format(arg1, arg2))

有时您希望用户传递数量不确定的参数。该库支持以下操作,类似于在Python中如何完成变量列表参数:

@bot.command()
async def test(ctx, *args):
    await ctx.send('{} arguments: {}'.format(len(args), ', '.join(args)))