@Solo3221

Как создать простую менюшку боту?

Как создать менюшку чтобы при нажатии на кнопку : бот присылал сообщение наподобии напиши мне что нибудь.... после моего ответа я возвращался к первоначальной стадии. кнопка -> вопрос -> ответ ->обратно в меню
  • Вопрос задан
  • 476 просмотров
Решения вопроса 1
@Solo3221 Автор вопроса
Разобрался Сам
#Стартовая клавиатура
start_keyboard = telebot.types.ReplyKeyboardMarkup(resize_keyboard=True)
start_keyboard.row('Сервис')
#Клавиатура для выбора Отчёт и Задание
stap_two_keyboard = telebot.types.ReplyKeyboardMarkup(resize_keyboard=True)
stap_two_keyboard.row('Отчёт','Задание','Назад')

#Глобальная переменная выбора функций, норм тема никогда так не делал)))
VarFunctionSelection = 0
# Handle '/start' and '/help'
@bot.message_handler(commands=['help'])
def send_welcome(message):
        bot.reply_to(message,(" I am here to echo your kind words back to you."))

@bot.message_handler(commands=['start'])
def handle_start(message):
        bot.send_message(message.from_user.id, 'Так, если не знаешь как этим пользоваться не тыкай кнопки', reply_markup=start_keyboard)
        bot.register_next_step_handler(message,msg)

@bot.message_handler(func=lambda message: True, content_types=['text'])
def msg(message):
        global VarFunctionSelection
        if message.text == 'Сервис':
                bot.send_message(message.from_user.id, 'Для создания отчета нажми на кнопку(Отчёт)  и отправь текст отчета.',reply_markup=stap_two_keyboard)
        elif message.text == 'Отчёт':
                VarFunctionSelection = 1
                bot.send_message(message.from_user.id, 'Отправь сообщение боту со своим отчетом')
        elif message.text == 'Задание':
                VarFunctionSelection = 2
                bot.send_message(message.from_user.id, 'Отправь сообщение боту с заданием')
        elif message.text == 'Назад':
                bot.send_message(message.from_user.id, 'Ну мы снова тут',reply_markup=start_keyboard)
        else:
                if VarFunctionSelection == 1 :
 #Тут будет вызов функций обработки отчета
                        file_name = "Report_" + str(message.from_user.last_name) + "_" + str(message.from_user.first_name)  + ".txt"
                        f = open(file_name, 'a')
                        f.write(message.text + '\r\n')
                        f.close()
                        print(message.text)
                        bot.send_message(message.from_user.id, 'Отчет принят. И мы снова тут')
                        VarFunctionSelection = 0
                elif VarFunctionSelection == 2:
                        #Тут будет вызов функций обработки задания
                        file_name = "Task_" + str(message.from_user.last_name) + "_" + str(message.from_user.first_name)  + ".txt"
                        f = open(file_name, 'a')
                        f.write(message.text + '\r\n')
                        f.close()
                        print(message.text)
                        bot.send_message(message.from_user.id, 'Задание отправилено. И мы снова тут')
                        VarFunctionSelection = 0
                else:
                        VarFunctionSelection = 0
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
AlexNineteen
@AlexNineteen
Привет.
Комментировать
Ваш ответ на вопрос

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

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