[英]How do I get all user input as a string with my discord bot after they type a certain command?
我有一個用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:取多個用逗號分隔的項目/編號對,然后根據項目名稱是否與文件名匹配,將每個編號放在不同的文本文件中。
discord.py的命令擴展框架的功能使此操作變得容易
@bot.command(pass_context=True)
async def loot(ctx,*,message):
await bot.say(message)
如果您注意到*
,它將告訴庫將用戶輸入的所有內容都以字符串形式放入message
中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.