По данному коду не понятно что он делает и он не запускается.
Можно только предположить что вы пытаетесь сделать что-то вроде такого: пользователь вводит команду (например /start), бот показывает ему клавиатуру с выбором из двух вариантов, после выбора одного из которых пользователю отправляется одна картинка либо другая.
В общем нужен код который можно запустить с комментариями что нужно в нем доделать или опишите словами полную логику работы бота.
Логика этой части бота :
1. Нажатие на кнопку "Выбрать Ресторан" вызывает InlineKeyboard keyboard.rest_markup, в котором есть кнопки "rest1" и "rest2".
@bot.message_handler(content_types =['text', 'contact'])
def main(message):
elif message.text == 'ℹ О Сервисе':
bot.send_message(message.chat.id, '.......................)
msg = bot.send_message(message.chat.id, 'Выберите,пожалуйста, действие ⤵')
bot.register_next_step_handler(msg, main)
elif message.text == '? Выбрать Ресторан':
msg = bot.send_message(message.chat.id, 'Выберите,пожалуйста, действие ⤵', reply_markup=keyboard.rest_markup)
bot.register_next_step_handler(msg, rest1)
2. После нажатия на кнопку "rest1" или "rest2" открывается отдельное меню ReplyKeyboard , соответственно keyboard.rest1 или keyboard.rest2 , при нажатии на которое вызывается информация, соответствующая rest1 или rest2:
@bot.callback_query_handler(func=lambda call: True)
def handler_call(call):
chat_id = call.message.chat.id
message_id = call.message.message_id
try:
if call.data == 'rest1':
bot.send_message(call.message.chat.id, 'Выберите,пожалуйста, действие ⤵', reply_markup=keyboard.rest1())
if call.data == 'rest2':
bot.send_message(call.message.chat.id, 'Выберите,пожалуйста, действие ⤵', reply_markup=keyboard.rest2())
def rest1(message):
if message.text == '? Меню':
bot.send_photo(message.chat.id, PHOTO_ZA1)
send = bot.send_message(message.chat.id, 'Выберите,пожалуйста, действие ⤵', reply_markup=keyboard.rest1())
bot.register_next_step_handler(send, rest1)
def rest2(message):
if message.text == '? Меню':
bot.send_photo(message.chat.id, PHOTO_ZA2)
send = bot.send_message(message.chat.id, 'Выберите,пожалуйста, действие ⤵', reply_markup=keyboard.rest2())
bot.register_next_step_handler(send, rest2)
Проблема в том, что отдельные клавиатуры ReplyKeyboard , соответственно keyboard.rest1 или keyboard.rest2, открываются, но информация подтягивается лишь из rest1.