Как мне принять строку в качестве аргумента? (переписать discord.py)

Dec 17 2020

Попытка создать команду discord.py, которая принимает строку в качестве аргумента. Как мне принять строку из сообщения Discord (хотя, если бы вы могли сказать, как делать логические и целые числа, это было бы полезно) в качестве аргумента? Я старался изо всех сил на нем, но безрезультатно.

Импорт

os
discord
json
requests
python-dotenv
pymediawiki

Пример кода

#Existing bot

@bot.command()
async def combinestring(ctx):
#argument should be called arg

#process string
   

(Я не против добавить еще, если понадобится.)

Ответы

1 ŁukaszKwieciński Dec 17 2020 at 16:28

Это буквально первое, что появляется при чтении введения в команды, вот ссылка

Также вот пример

@bot.command()
async def foo(ctx, arg):
    await ctx.send(arg)

# To invoke
# !foo hello
# >>> hello
JoaquimEsteves Dec 17 2020 at 15:41

Вы смотрели другие вопросы, касающиеся получения сообщений от бота Discord?

  • https://stackoverflow.com/a/61851683/6595024
  • https://stackoverflow.com/a/49127887/6595024

изменить: обновлен ответ на обновление вопроса

iamthetrueyes Dec 20 2020 at 17:49

Это довольно просто. Если вы хотите привести аргумент без пробелов,

@bot.command()
async def combinestring(ctx, arg: str):
    #your code

Если вы хотите поспорить с пробелами,

@bot.command()
async def combinestring(ctx, *, arg):
    #your code

Сделанный.