#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. Я буду рад уточнить что-нибудь.