Не понимаю, почему не возможно сделать три уровня @bot.message_hendler и не понимаю как работать с bot.register_next_step_handle. Прочел уже столько, что перестаю понимать обычный текст.
Мой код:
import telebot
import constants
from telebot import apihelper
proxy = constants.ip+":"+constants.port
apihelper.proxy = {'https': proxy}
bot = telebot.TeleBot(constants.token1)
a = 0
pred = ("")
class dz:
def __init__(self, name):
self.Algebra = None
self.Geom = None
self.Rus = None
self.Liter = None
self.Him = None
self.Fiz = None
self.Nem = None
self.Biol = None
self.Istor = None
self.Obsh = None
self.Geogr = None
self.Inf = None
self.AnglSA = None
self.AnglTA = None
self.InfSA = None
self.InfTA = None
self.Fizra = None
self.OBZh = None
@bot.message_handler(commands=['start'])
def hendle_start(message):
user_markup = telebot.types.ReplyKeyboardMarkup(True, True)
user_markup.row('Понедельник', 'Вторник', 'Среда')
user_markup.row('Четверг', 'Пятница', 'Суббота')
user_markup.row('/admin')
bot.send_message(message.chat.id, "Выберите день недели", reply_markup = user_markup) #включен
@bot.message_handler(content_types='text')
def hendle_text(message):
if message.text == "Понедельник":
bot.send_message(message.chat.id, "ПОНЕДЕЛЬНИК")
bot.send_message(message.chat.id, "Алгебра")
elif message.text == "Вторник":
bot.send_message(message.chat.id, "Выбран вторник")
elif message.text == "Среда":
bot.send_message(message.chat.id, "Выбрана среда")
elif message.text == "Четверг":
bot.send_message(message.chat.id, "Выбран четверг")
elif message.text == "Пятница":
bot.send_message(message.chat.id, "Выбрана пятница")
elif message.text == "Суббота":
bot.send_message(message.chat.id, "Выбранна суббота")
@bot.message_handler(commands=['admin'])
def hendle_admin(message):
bot.send_message(message.chat.id, "Введите пароль")
@bot.message_handler(content_types='text')
def hendle_text(message):
if message.text == constants.password:
bot.send_message(message.chat.id, "Пароль верен")
while a == 0:
user_markup = telebot.types.ReplyKeyboardMarkup(True, True)
user_markup.row('Алгебра', 'Геометрия', 'Русский', 'Литература')
user_markup.row('Химия', 'Физика', 'Немецкий', 'Биология')
user_markup.row('История', 'Обществознание', 'География', 'Информатика')
user_markup.row('АнглийскийСА', 'АнглийскийТА', 'Физкультура', 'Обж')
bot.send_message(message.chat.id, "Выберите предмет", reply_markup=user_markup)
@bot.message_handler(content_types='text')
def hendle_text(message):
while a == 0:
if message.text == "Алгебра":
bot.send_message(message.chat.id, "Запишите дз")
elif message.text == "Геометрия":
bot.send_message(message.chat.id, "Запишите дз")
elif message.text == "Русский":
bot.send_message(message.chat.id, "Запишите дз")
elif message.text == "Литература":
bot.send_message(message.chat.id, "Запишите дз")
elif message.text == "Химия":
bot.send_message(message.chat.id, "Запишите дз")
elif message.text == "Физика":
bot.send_message(message.chat.id, "Запишите дз")
elif message.text == "Немецкий":
bot.send_message(message.chat.id, "Запишите дз")
elif message.text == "История":
bot.send_message(message.chat.id, "Запишите дз")
elif message.text == "Обществознание":
bot.send_message(message.chat.id, "Запишите дз")
elif message.text == "География":
bot.send_message(message.chat.id, "Запишите дз")
elif message.text == "Информатика":
bot.send_message(message.chat.id, "Запишите дз")
elif message.text == "АнглийскийСА":
bot.send_message(message.chat.id, "Запишите дз")
elif message.text == "АнглийскийТА":
bot.send_message(message.chat.id, "Запишите дз")
elif message.text == "Физкультура":
bot.send_message(message.chat.id, "Запишите дз")
elif message.text == "Обж":
bot.send_message(message.chat.id, "Запишите дз")
else:
bot.send_message(message.chat.id, "Повторите попытку или выйдете в меню дз /start")
bot.polling(none_stop=True, interval=0)