Как сделать ввод данных в pyTelegramBotAPI

Нужно что бы функция продолжила выполнение, только при условии того, что пользователь отправил сообщение. Заранее спасибо!


Ответы (2 шт):

Автор решения: shalor1k
bot = telebot.TeleBot(config.token)
car_list = ['toyota', 'mazda']
#Список возможных машин

@bot.message_handler(commands=['start'])

def answer(message):
    if message.text == '/start':
        bot.send_message(message.chat.id, 'Введите марку машины:')
    else:
        bot.send_message(message.chat.id, 'Я вас не понимаю')

@bot.message_handler(content_types=["text"])
    if message.text in car_list:
        bot.send_message(message.chat.id, 'Информация о вашей машине:...')
    else:
        bot.send_message(message.chat.id, 'Укажите модель машины , а не вашего НЛО')

→ Ссылка
Автор решения: betepok

Может вы и решили проблему, но попробую помочь. Вкратце, у бота есть функция bot.register_next_step_handler() которая используется для построения цепей. Разработчик включил в список этот пример https://github.com/eternnoir/pyTelegramBotAPI/blob/master/examples/step_example.py

Оставлю пример как в вашем случае.

def answer(message):
    if message.text == '/start':
        bot.send_message(message.chat.id, 'Введите марку машины:')
        bot.register_next_step_handler(message, car_name)

def car_name(message):
    text = message.text
    if text == "lada":
        bot.send_message(message.chat.id, "Неплохой выбор)")
→ Ссылка