import telebot
from telebot import types
bot = telebot.TeleBot('')
@bot.message_handler(commands=['start'])
def start(message):
markup = types.ReplyKeyboardMarkup()
reviews = types.KeyboardButton('Отзывы от клиентов')
location = types.KeyboardButton('Города')
markup.row(reviews, location)
goods = types.KeyboardButton('Товары')
support = types.KeyboardButton('Поддержка')
markup.row(goods, support)
profile = types.KeyboardButton('Профиль')
bonus = types.KeyboardButton('Бонус')
markup.row(profile, bonus)
bot.send_message(message.chat.id, f'''
,reply_markup=markup)
bot.register_next_step_handler(message, on_click)
@bot.message_handler(commands=['city'])
def on_click(message):
if message.text == 'Города':
all_city = types.InlineKeyboardMarkup()
tomsk = types.InlineKeyboardButton(text='Томск', callback_data='citytomsk')
novosibirsk = types.InlineKeyboardButton(text='Новосибирск(В разработке)', callback_data='citynovosibirsk')
krasnodar = types.InlineKeyboardButton(text='Краснодар(В разработке)', callback_data='citykrasnodar')
moscow = types.InlineKeyboardButton(text='Москва(В разработке)', callback_data='citymoscow')
all_city.add(tomsk)
all_city.add(novosibirsk)
all_city.add(krasnodar)
all_city.add(moscow)
bot.send_message(message.chat.id, 'Выберите ваш город для покупки товара:', reply_markup=all_city)
@bot.callback_query_handler(func=lambda call: True)
def сallbacktomsk(call):
if call.data == 'citytomsk':
tomsk_product = types.InlineKeyboardMarkup()
cement = types.InlineKeyboardButton(text='Цемент 50кг М-500', callback_data='cementtomsk')
plywood = types.InlineKeyboardButton(text='Фанера 8мм x 1,25 x 2,5м', callback_data='plywoodtomsk')
tomsk_product.add(cement)
tomsk_product.add(plywood)
bot.send_message(call.message.chat.id,'Выберите товар:', reply_markup=tomsk_product)
@bot.callback_query_handler(func=lambda call: True)
def callbackcementtomsk(call):
if call.message:
if call.data == 'cementtomsk':
with open('C:\CementBot.jpg' 'rb') as f1:
bot.send_photo(call.message.chat.id, f1)
@bot.message_handler(commands=['help'])
def main(message):
bot.send_message(message.chat.id, '<b>Здесь вы можете обращаться к службе поддержки бота</b>', parse_mode='html')
bot.polling(none_stop=True)
@bot.callback_query_handler(func=lambda call: True)
def сallbacktomsk(call):
все на себя перехватывает, все остальные уже не сработают никак. @bot.callback_query_handler(func=lambda c: True)
def callback(c):
if c.data.startswith('city'):
match c.data.split('city',1)[-1]:
case 'tomsk': ...