Как сделать так, чтобы бот ждал сообщения
...
bot.send_message(call.message.chat.id, 'Введите ваш город:')
...
bot.send_message(call.message.chat.id, 'Проверьте правильность введённого города:')
...
Вот код. После сообщения "введите ваш город" юзер отправляет сообщение, бот должен прочитать это сообщение не как команду, а как ввод текста
только не бейте палками, я новичок, взял первый заказ для портфолио и столкнулся с трудностями, надеюсь на понимание :) и да код я не умею вствлять, надеюсь поймете
import telebot
from telebot import types
bot = telebot.TeleBot('токен')
@bot.message_handler(commands=['start'])
def welcome(message):
bot.send_message(message.from_user.id, "Привет, ты запустил бота")
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
item1 = types.KeyboardButton("Каталог")
item2 = types.KeyboardButton("Пополнить баланс")
markup.add(item1, item2)
bot.send_message(message.chat.id,
"Добро пожаловать, {0.first_name}!\nЯ - <b>{1.first_name}</b>, бот-магазин.".format(
message.from_user, bot.get_me()),
parse_mode='html', reply_markup=markup)
@bot.message_handler(content_types=['text'])
def get_text_messages(message):
if message.text == "Каталог":
markup = types.InlineKeyboardMarkup(row_width=2)
item1 = types.InlineKeyboardButton("Магнит", callback_data='1item')
item2 = types.InlineKeyboardButton("Пятёрочка", callback_data='2item')
markup.add(item1, item2)
bot.send_message(message.chat.id, 'Каталог:', reply_markup=markup)
elif message.text == "Пополнить баланс":
bot.send_message(message.chat.id, 'В разработке')
else:
bot.send_message(message.chat.id, 'Я не знаю такой команды')
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
if call.message:
if call.data == '1item':
bot.send_message(call.message.chat.id, 'Введите ваш город:')
if call.data == '2item':
bot.send_message(call.message.chat.id, 'другое сообщение')
bot.polling()