我有一个使用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:采用以逗号分隔的多个项目/编号对,然后根据项目名称是否与文件名匹配,将每个编号放在不同的文本文件中。
答案 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
中。