LINUX.ORG.RU

Телеграмм бот не переходит на следующий слой меню кнопок.

 , , ,


1

2

Проблема собственно в том, что код упирается в первое меню(base()), все попытки открыть при нажатии на кнопку нового меню(Допустим меню заказов) приводят к тому,что бот ничего не делает, кнопки просто посылают сообщение от пользователя с тем же текстом,что на кнопке.

Код не полный и были добавлены простые текста, вместо обращения к файлам


import telebot
from telebot import types
bot = telebot.TeleBot('')

f=open('admins.txt')
List = open('list.txt', 'rb+')
line_count = sum(1 for line in List)
List.seek(0)

@bot.message_handler(commands = ['start'])
def start(message):
    bot.send_message(message.chat.id, 'Авторизация\nВведите код для админов')

@bot.message_handler()
def base(message):
    if message.text == '123456':
       markup = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
       zap = types.KeyboardButton('Записи')
       clients = types.KeyboardButton('Клиенты')
       freeclass = types.KeyboardButton('Свободные классы')
       Check = types.KeyboardButton('Проверка')
       markup.add(zap, clients, freeclass, Check)
       bot.send_message(message.chat.id, 'Функции:', reply_markup=markup)
@bot.message_handler(content_types = ['text'])
def zap(massage):
    if message.text == 'Записи':
         a = telebot.types.ReplyKeyboardRemove()
         bot.send_message(message.from_user.id, '', reply_markup=a)
         markup1 = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
         Room = types.KeyboardButton('Классы')
         Back = types.KeyboardButton('Назад')
         markup1.add(room,back)
         bot.send_message(message.chat.id, "Кекич", reply_markup=markup1)

@bot.message_handler(content_types = ['text'])
def back(message):
    if message.text == 'Назад':
        base()
bot.polling(none_stop = True, interval=0)

Собственно папка с тем,как это выглядит, и что выдает консоль

telebot, судя по их гитхабу(https://github.com/KyleJamesWalker/telebot), обновлялся последний раз 7 лет назад. Апи телеги с тех пор немного поменялось. Возьми что-нибудь посвежее. Например aiogram

Aswed ★★★★★
()

пустой хендлер должен быть последним, всё что после него выполняться не будет

Johan_helm
()
Последнее исправление: Johan_helm (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.