簡體   English   中英

在我的discord機器人鍵入特定命令后,如何獲得所有用戶輸入的字符串?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM