【问题标题】:Bot only takes one commandBot 只接受一个命令
【发布时间】:2020-11-02 00:07:58
【问题描述】:

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

所以当我简单地输入“!say Hello”时,它会显示:

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

如您所见,它只打印“Hello”并且表现得就像我没有说“World”一样。

这是我的代码:

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

【问题讨论】:

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


【解决方案1】:

请看这里: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)))

【讨论】:

  • 嘿,感谢您的帮助,它成功了!我感谢你帮助我。祝你有美好的一天,保持安全:)
猜你喜欢
  • 2021-04-09
  • 2020-11-03
  • 2020-10-04
  • 1970-01-01
  • 2021-03-29
  • 1970-01-01
  • 2022-01-02
  • 1970-01-01
  • 2021-04-24
相关资源
最近更新 更多