discord.py — как создать команду, которая принимает все слова после определенного символа

#discord.py

#discord.py

Вопрос:

Я хотел бы создать команду, подобную этой:

 async def offer(self, ctx, firstName=None, lastName=None, *, pitch=None):
  

и я хочу pitch принимать каждый символ, включая пробелы после символа " .
Пример: !offer Ocean Man Hi, join my team! Работает команда: pitch = 'Hi, join my team!' . Теперь я пытаюсь выяснить, как заставить эту команду работать: !offer Ocean "Hi, join me!" . Прямо сейчас это просто делает lastName = "Hi, , и моя попытка решить это здесь:

 if lastName.startswith('"'):
    pitch = str(lastName)   str(pitch)
    lastName = ''
  

но по какой-то причине это не работает. Это не выдает никаких ошибок, это просто … не работает. Я могу объяснить более подробно в Discord или в каком-нибудь другом месте, я могу отправить вам изображения результата, но сейчас я просто хочу проверить, правильно ли я логически нахожусь в нужном месте.

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

1. Можете ли вы объяснить, что вы хотите сделать более конкретно?

2. Я не могу, это объясняется так, как я могу это сделать. Я хочу, чтобы pitch после " символа было все.

Ответ №1:

Я не очень хорошо понял ваш вопрос, но, как я понимаю, вы хотите, чтобы все аргументы после " должны быть включены в pitch . Итак, вы можете просто сделать:

 async def offer(self, ctx, *, args):
    pitch = args.split('"')[1]
  

Это присвоит pitch всем словам после " . Если есть какие-либо проблемы с этим ответом, просто прокомментируйте, потому что я ответил на ваш вопрос, как я понимаю.

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

1. Выдаст ли это ошибку, если нет " in args ?

2. Да, но вы можете просто исправить это с помощью if '"' in args: pitch = args.split('"')[1]

3. Большое спасибо за вашу помощь сегодня!

4. Я рад, если я чем-то помог