#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. Выдаст ли это ошибку, если нет
"
inargs
?2. Да, но вы можете просто исправить это с помощью
if '"' in args: pitch = args.split('"')[1]
3. Большое спасибо за вашу помощь сегодня!
4. Я рад, если я чем-то помог