@iayjull

Как сделать функцию горячих клавиш в telegram боте?

пытаюсь создать телеграм бот для салона красоты. при команде /start человека встречает сообщение с тремя горячими клавишами "записаться", "наши мастера" и " наши контакты". после нажатия на одну из них должен высвечиваться определенный текст с другой горячей клавишей, которая будет делать следующее действия.

например "наши контакты" должен высвечивать текст с информацией о салоне красоты и кнопку "вернуться в главное меню", которая работает подобно /start

а "наши мастера" должен высвечивать текст "мастера" с кнопками, где написаны имена людей и при нажатии на них должен высвечиваться краткая информация о них

import telebot
from telebot import types
#import sqlite3
#import datetime

bot=telebot.TeleBot('6659520201:AAFyQO_rIX8D9VfuUtdD4bS4cPEziD-VnJ8')

@bot.message_handler(commands=['start'])
def start(message):
    markup = types.InlineKeyboardMarkup()
    btn1 = types.InlineKeyboardButton('записаться', callback_data='zapis')
    markup.row(btn1)
    btn2 = types.InlineKeyboardButton('наши мастер', callback_data='mastera')
    btn3 = types.InlineKeyboardButton('наши контакты', callback_data='contacts')
    markup.row(btn2, btn3)

    bot.send_message(message.chat.id, 'здравствуйте, вас приветствует салон красотыю выберите, что вас интересует.', reply_markup=markup)
   

@bot.callback_query_handler(func=lambda callback: True)
def callback_message(callback):

    #if callback.data == 'zapis':


    if callback.data == 'mastera':
        markup = types.InlineKeyboardMarkup()
        markup.add(types.InlineKeyboardButton('Анастасия Степанова', callback_data='anastasia'))
        markup.add(types.InlineKeyboardButton('Алена Курпатова', callback_data='alena'))

        bot.send_message(callback.message.chat.id, 'выберите мастера', reply_markup=markup)

    @bot.callback_query_handler(func=lambda callback: True)
    def callback_message(callback):
        if callback.data == 'anastasia':
            bot.send_message(message.chat.id, 'Анастасия прекрасный мастер')
        if callback.data == 'alena':
            bot.send_message(message.chat.id, 'Алена хороший мастер')
    

    if callback.data == 'contacts':
        markup = types.InlineKeyboardMarkup()
        markup.add(types.InlineKeyboardButton('вернуться в главное меню', callback_data='start'))

        bot.send_message(callback.message.chat.id, 'наши контакты\n телефон:\n почта:\n адрес:\n',  reply_markup=markup)

bot.polling(non_stop=True)


я не могу сделать функцию в функции на определенном моменте кнопки не работают.
64cfea30be893363049168.png
64cfea6ad0203210640731.png
  • Вопрос задан
  • 90 просмотров
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Не надо пытаться описывать обработчик в обработчике. Это никогда не сработает так, как ты ожидаешь.
Если бы дал себе труд погуглить, вышел бы на register_next_step_handler() и как им пользоваться.

Ну и да, ты спалил токен от бота. Его теперь могут увести, если токен не сменишь.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы