Сначала код бота телеграм, ниже него 2 вопроса
import telebot
from telebot import types
from telebot.types import ReplyKeyboardMarkup, InlineKeyboardMarkup,InlineKeyboardButton
#ID ТОКЕНА ИЗ GODFATHER
bot = telebot.TeleBot("TOKEN ID")
#ПРИВЕТСТВИЕ И ПОЯВЛЕНИЕ ГЛАВНОГО МЕНЮ
@bot.message_handler(commands=["start"])
def hello(message):
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton("КНОПКА1")
btn2 = types.KeyboardButton("КНОПКА2")
markup.add(btn1, btn2)
bot.send_message(message.chat.id, "Приветствие", reply_markup=markup)
#АКТИВАЦИЯ КНОПОК ГЛАВНОГО МЕНЮ
@bot.message_handler(content_types=["text"])
def head_menu_buttons(message):
if message.text == "КНОПКА1":
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton("Кнопка1")
btn2 = types.KeyboardButton("Кнопка2")
btn3 = types.KeyboardButton("Кнопка3")
main_menu = types.KeyboardButton("Главное меню")
markup.add(btn1, btn2, btn3, main_menu)
bot.send_message(message.from_user.id, "Субменю КНОПКИ1", reply_markup=markup)
if message.text == 'КНОПКА2':
markup = types.ReplyKeyboardMarkup(resize_keyboard=True)
btn1 = types.KeyboardButton("Кнопка1")
btn2 = types.KeyboardButton("Кнопка2")
btn3 = types.KeyboardButton("Кнопка3")
main_menu = types.KeyboardButton("Главное меню")
markup.add(btn1, btn2, btn3, main_menu)
bot.send_message(message.from_user.id, "Субменю КНОПКИ2", reply_markup=markup)
#АКТИВАЦИЯ КНОПКИ ГЛАВНОЕ МЕНЮ (ВЕРНУТЬСЯ В ГЛАВНОЕ МЕНЮ)
elif message.text == "Главное меню":
hello(message)
#АКТИВАЦИЯ КНОПОК СУБМЕНЮ КНОПКИ1
elif message.text == "Кнопка1":
markup = types.InlineKeyboardMarkup(row_width=1)
btn1 = types.InlineKeyboardButton("Инлайн кнопка1", callback_data="inline_button1")
btn2 = types.InlineKeyboardButton("Инлайн кнопка2", callback_data="inline_button2")
markup.add(btn1, btn2)
bot.send_message(message.chat.id, "Инлайновые кнопки Кнопки1", reply_markup=markup)
@bot.callback_query_handler(func=lambda call: True)
def callback_inline(call):
try:
if call.message:
if call.data == "inline_button1":
bot.send_photo(call.message.chat.id, open("/Photo1.jpg", 'rb'), caption="Прикрепленный к фото текст")
if call.data == "inline_button2":
bot.send_photo(call.message.chat.id, open("/Photo2.jpg", 'rb'), caption="Прикрепленный к фото текст")
except Exception as e:
print(repr(e))
#ЗАКРЫВАЕМ
if __name__ == '__main__':
bot.polling(none_stop = True)
Итак. Вопрос вот в чём. Не могу прийти к логическому заключению, каким образом можно скрыть кнопки клавиатуры.
Запускаю бот. Приветствие и кнопки главного меню. Всё отлично.
Нажимаю КНОПКА1 появляется субменю этой кнопки. Всё отлично.
Теперь. Я нажимаю Кнопку1, появляются инлайн кнопки, всё отлично. Но мне необходимо, чтобы при нажатии одной из трёх Кнопок (1,2,3) они исчезали, а осталось только кнопка Главное меню и появилась кнопка Назад, чтобы возвращаться в субменю КНОПКА1.
В итоге чтобы было вот так:
И второй вопрос, при нажатии кнопки Главное меню меня возвращает к главным кнопкам, всё отлично. Но делаю я это при помощи команды
elif message.text == "Главное меню":
hello(message)
Тоесть снова запускается Приветствие как при старте. А мне не нужно заново приветствовать, а нужно просто вернуттся в Главное меню.
Вот понятия не имею как эти 2 проблемы решить одновременно.