@MrChen

Как получить значение команды в Telebot Python?

Всем привет! Я пишу Телеграмм-бота и для работы с ним использую библиотеку Telebot на Python. Как известно в Telegram вместе с командой можно передать какое-нибудь значение:

/command value

Собственно вот и вопрос: есть ли в Telebot метод, который получает это самое значение?
  • Вопрос задан
  • 2523 просмотра
Решения вопроса 1
flygrounder
@flygrounder
Python/Django
Способ, который xdgadd предложил не очень удобен,потому что для каждой команды надо считать длину в символах, а если несколько команд разной длины выполняют одну и ту же функцию, то этот способ перестаёт работать, посему:
@bot.message_handler(commands=["command"]) # В commands может быть несколько разных команд
def answer(message):
    command = message.split(maxsplit=1)[1] # В переменной будет всё,что идёт после /command
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@xdgadd
ML/Python/Cpp
Нет. Но вы можете просто получить текст сообщения и руками вытащить из него команду:

GET_LEN = 5 # '/get '
...
@bot.message_handler(commands=["get"])
def get_handler(message):
    msg_text = message.text[GET_LEN:]
    print(msg_text)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы