在我的discord机器人键入特定命令后,如何获得所有用户输入的字符串?

时间:2018-10-10 19:56:44

标签: python discord discord.py

我有一个使用python制作的discord机器人。我希望它检索用户键入!loot命令后键入的所有内容,然后根据给定的字符串/水果将给定的数字存储在文本文件中。

例如,如果有人输入!loot 100个苹果,200个橙子,300个李子,我将在python中让用户输入“ 100个苹果,200个橙子,300个李子”作为字符串。

获取此字符串后,我的想法是将基于逗号的字符串拆分为一个列表,因此列表看起来像[100个苹果,200个橘子,300李子]。之后,我可以检查关键字是否与文本文件匹配,以及是否提取了数字并将其放入文件中。

我尝试了

async def loot(ctx, message):
    messagelist = [x.strip() for x in message.split(',')]
    await bot.say(messagelist)

但是机器人仅给出了第一部分,在上面的示例中为[100]。

tldr:采用以逗号分隔的多个项目/编号对,然后根据项目名称是否与文件名匹配,将每个编号放在不同的文本文件中。

1 个答案:

答案 0 :(得分:1)

通过feature of discord.py's commands extension framework可以轻松实现

@bot.command(pass_context=True)
async def loot(ctx,*,message):
    await bot.say(message)

如果您注意到*,它将告诉库将用户键入的所有内容作为字符串放入message中。