@Denys_Arys

Telegram bot. Как повторить вывода кнопок, если пользователь ввел текст, а не выбрал один из вариантов?

Добрый день.
Я хочу вести с клиентом диалог с помощью кнопок, чтобы он всегда выбирал один из предложенных вариантов.
Например, если человек ищет квартиру, для начала он должен выбрать один из городов, затем район в выбранном ранее городе и т.д. Например, если на шаге выбора города человек не выбрал ни один из вариантов, а вписал текст, я бы хотел повторить предыдущее сообщение с кнопками выбора города, поменяв подпись на что-то типа "Выберите один из предложенных вариантов". Не могу понять как это сделать корректно.

import config
import telebot
from telebot import types  # кнопки
from string import Template
from datetime import datetime
import time
import pymssql


permissions = config.permissions
bot = telebot.TeleBot(config.API_BOT_TEST_TOKEN, threaded=False)

@bot.message_handler(commands=['start'])
def test_message(message):
    chat_id = message.chat.id
    markup = telebot.types.InlineKeyboardMarkup()
    markup.add(telebot.types.InlineKeyboardButton(text='Алматы', callback_data='city_Алматы'))
    markup.add(telebot.types.InlineKeyboardButton(text='Нур-Султан', callback_data='city_Нур-Султан'))
    bot.send_message(chat_id, 'Choose your city', reply_markup=markup)


@bot.callback_query_handler(func=lambda call: 'city' in call.data)
def query(call):
    bot.send_message(call.from_user.id, 'Хорошо, город сохранен')
    bot.edit_message_reply_markup(call.from_user.id, message_id=call.message.message_id)



##### Какой обработчик тут должен быть и что он должен содержать, чтобы объяснить пользователю, что он должен выбрать один из предложенных вариантов, в случае, если он ввел текст вместо того, чтобы сделать выбор?


bot.polling()
  • Вопрос задан
  • 280 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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