import telebot
from telebot import types
token = 'ваш_токен'
bot = telebot.TeleBot(token)
# Основная функция для создания клавиатуры
def create_main_menu():
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
item1 = types.KeyboardButton("Меню 1")
item2 = types.KeyboardButton("Меню 2")
markup.add(item1, item2)
return markup
def create_submenu_1():
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
item1 = types.KeyboardButton("Опция 1.1")
item2 = types.KeyboardButton("Опция 1.2")
back = types.KeyboardButton("Назад")
markup.add(item1, item2, back)
return markup
def create_submenu_2():
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
item1 = types.KeyboardButton("Опция 2.1")
item2 = types.KeyboardButton("Опция 2.2")
back = types.KeyboardButton("Назад")
markup.add(item1, item2, back)
return markup
@bot.message_handler(commands=['start'])
def start(message):
bot.send_message(message.chat.id, "Выберите меню:", reply_markup=create_main_menu())
@bot.message_handler(func=lambda message: message.text == "Меню 1")
def menu1(message):
bot.send_message(message.chat.id, "Вы в меню 1. Выберите опцию:", reply_markup=create_submenu_1())
@bot.message_handler(func=lambda message: message.text == "Меню 2")
def menu2(message):
bot.send_message(message.chat.id, "Вы в меню 2. Выберите опцию:", reply_markup=create_submenu_2())
@bot.message_handler(func=lambda message: message.text in ["Опция 1.1", "Опция 1.2"])
def handle_menu1_options(message):
bot.send_message(message.chat.id, f"Вы выбрали {message.text} в меню 1.")
bot.send_message(message.chat.id, "Напишите что-то еще или вернитесь в главное меню.", reply_markup=create_main_menu())
@bot.message_handler(func=lambda message: message.text in ["Опция 2.1", "Опция 2.2"])
def handle_menu2_options(message):
bot.send_message(message.chat.id, f"Вы выбрали {message.text} в меню 2.")
bot.send_message(message.chat.id, "Напишите что-то еще или вернитесь в главное меню.", reply_markup=create_main_menu())
@bot.message_handler(func=lambda message: message.text == "Назад")
def go_back(message):
bot.send_message(message.chat.id, "Вы вернулись в главное меню.", reply_markup=create_main_menu())
@bot.message_handler(content_types=['text'])
def handle_text(message):
bot.send_message(message.chat.id, f"Вы написали: {message.text}")
if __name__ == "__main__":
bot.infinity_polling()