Bot 只接受一个命令

Posted

技术标签:

【中文标题】Bot 只接受一个命令【英文标题】:Bot only takes one command 【发布时间】: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)

【问题讨论】:

***.com/questions/55665255/… 有帮助吗? 【参考方案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)))

【讨论】:

嘿,感谢您的帮助,它成功了!我感谢你帮助我。祝你有美好的一天,保持安全:)

以上是关于Bot 只接受一个命令的主要内容,如果未能解决你的问题,请参考以下文章

discord.py bot 只响应一个命令

C# Discord Bot 编码:创建一个发送垃圾邮件的命令,然后用另一个命令停止

discord py,ctx.guild.members,只返回bot

Python discord bot 不接受错误

在 Discord Bot 中嵌入 Gif

俩bot能不能用一个redis