Как сделать так, чтобы бот discord хранил / находил остальную часть сообщения после команды?

#python #discord #discord.py

#питон #Discord #discord.py

Вопрос:

То, что я пытаюсь сделать, — это выяснить, как заставить бота проверять, что происходит после начальной команды.

т.е.:

 bot = commands.Bot(command_prefix="/")

@bot.command(name="suggestion")
async def some_crazy_function_name(ctx):
      (code to find what came after suggestion)
 

Ответ №1:

ctx.args должен предоставить вам список аргументов, переданных команде.

ctx.content также предоставит вам все содержимое сообщения, если это то, что вы хотите.

В качестве альтернативы, вы также можете сделать что-то вроде этого:

 bot = commands.Bot(command_prefix="/")

@bot.command(name="suggestion")
async def some_crazy_function_name(ctx, suggestion_name, content):
      print(suggestion_name, content)
 

Вы вызываете его следующим образом:
/suggestion feature "I want a new feature!"

discord.py автоматически проанализирует текст в цитате как один аргумент. Вы можете делать такие вещи, как:

/suggestion "Add an image command" "I think an image command would be cool"

Комментарии:

1. Хм, я никогда раньше не использовал аргументы или функцию ctx, поэтому обычно избегал их. Сейчас нет такого времени, как сейчас, как работают аргументы?

2. В моем примере, если вы вызываете с /suggestion apple "more apples" помощью then в функции, верно следующее, suggestion_name == "apple" amp; content == "more apples"

3. Спасибо, я думаю, что понимаю

4. @Tazgirl Если это решило проблему, вы можете пометить ее как ответ. Если нет, пожалуйста, lmk. Я буду рад уточнить что-нибудь.