Этот вопрос закрыт для ответов, так как повторяет вопрос Тг бот должен отвечать готовым сообщением после ввода ника от пользователя?
@Kstaterina

Как получить сообщение пользователя в телеграм-боте?

Помогите пожалуйста, никак не могу получить через данные функции сообщение пользователя, постоянно получаю последнее сообщение от бота(
Хотя в другой функции таким же методом получаю именно сообщение юзера (только без call):
input_summa_mess = call.message.text
    print(input_summa_mess)


Часть кода, в которой проблема:

@bot.message_handler(content_types=['text'])
def func(message):

    if (message.text == "Рассчет"):
        vozrast = types.InlineKeyboardMarkup()
        button1 = types.InlineKeyboardButton("0-3 года", callback_data='do_treh')
        button2 = types.InlineKeyboardButton("3-5 лет", callback_data='do_paty')
        button3 = types.InlineKeyboardButton("Старше 5 лет", callback_data='bolshe')
        vozrast.add(button1, button2, button3)
        bot.send_message(message.chat.id,
                         "{0.first_name},Выбери возраст авто".format(message.from_user), reply_markup=vozrast)
        # plus_one(message)


@bot.callback_query_handler(func=lambda call: call.data == "bolshe")
def mess(call: types.CallbackQuery):
    vozrast = types.InlineKeyboardMarkup()
    button1 = types.InlineKeyboardButton("0-3 года", callback_data='do_treh')
    button2 = types.InlineKeyboardButton("3-5 лет", callback_data='do_paty')
    button3 = types.InlineKeyboardButton("Старше 5 лет", callback_data='bolshe')
    vozrast.add(button1, button2, button3)

    bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id,
                          text='предупреждение', reply_markup=vozrast)



@bot.callback_query_handler(func=lambda call: call.data == "do_treh")
def mess(call: types.CallbackQuery):
    bot.edit_message_text(chat_id=call.message.chat.id, message_id=call.message.message_id,
                          text='Просто отправь мне стоимость авто')

    input_summa_mess = call.message.text
    print(input_summa_mess)
  • Вопрос задан
  • 1242 просмотра
Решения вопроса 1
RimMirK
@RimMirK
Вроде человек. Вроде учусь. Вроде пайтону
Ответы на вопрос 1
@Kadabrov
@bot.message_handler(content_types=['text'])
def func(message):

    if (message.text == "Рассчет"):
        vozrast = types.InlineKeyboardMarkup()
        button1 = types.InlineKeyboardButton("0-3 года", callback_data='do_treh')
        button2 = types.InlineKeyboardButton("3-5 лет", callback_data='do_paty')
        button3 = types.InlineKeyboardButton("Старше 5 лет", callback_data='bolshe')
        vozrast.add(button1, button2, button3)
        bot.send_message(message.chat.id,
                         "{0.first_name},Выбери возраст авто".format(message.from_user), reply_markup=vozrast)
        # plus_one(message)

для начала в ответ бота добавьте кнопки reply_markup=vozrast

после нажатия кнопки создастся колбек, который вы сможете отловить и обработать
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы