Stack Overflow на русском Asked on December 28, 2020
Пример:
/check (Текст)
(Текст) должно записываться в переменную
Вам поможет split()
:
Отправим боту: /check 1 2 3
@bot.message_handler(commands=['check'])
def check(message):
print(message.text.split())
>>> ['/check', '1', '2', '3']
print(message.text.split()[1]) # [0] будет выводить /check
print(message.text.split()[2])
print(message.text.split()[3])
>>> 1
2
3
только не забывайте обрабатывать len()
и delimiter
Correct answer by Violet on December 28, 2020
Никак. Такого прям синтаксиса или готовых методов библиотеки нет. Вы видите команду в пакете пришедшем от Телеграм, и дальше просто производите парсинг всей оставшейся строки. Только вручную. Так как прям синтаксиса команды с параметрами в самом Телеграме не зафиксировано ни какого. Можно так:
/command1567
в этом лучае нужно будет парсить само тело команды что бы выделить из него параметр 1567
можно так:
/command 1567
в этом случае нужно будет парсить оставшуюся строчку после команды
а можно придумать и свои варианты типа:
/command param=value
тогда парсинг команды будет в разы проще, но как единая ссылка работать эта команда не сможет, а значит её и второй мной указанный вариант будет сложней использовать пользователю вашего бота
Answered by Сабир Исламов on December 28, 2020
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP