diff --git a/helpers/answer.py b/helpers/answer.py index c62a32a..cb5a6d7 100644 --- a/helpers/answer.py +++ b/helpers/answer.py @@ -75,6 +75,10 @@ class Answer(BaseAnswer): user.group = group user.name = element['label'] break + if user.group is None: + bot.send_message(user.chat_id, "Ты ввел что-то неправильно, попробуй еще раз сначала. Введи свое ФИО.") + self.set_state(user, "wait_for_name") + return mongo.users_collection.update_one({"chat_id": user.chat_id}, {"$set": { "hse_id": user.hse_id, "group": group, @@ -89,6 +93,7 @@ class Answer(BaseAnswer): kb = telebot.types.ReplyKeyboardMarkup(True, False) kb.row("Пары сегодня") kb.row("Уведомления") + kb.row("Сброс настроек") lessons = mongo.get_today_lessons(user) if len(lessons) == 0: bot.send_message( @@ -108,6 +113,7 @@ class Answer(BaseAnswer): kb = telebot.types.ReplyKeyboardMarkup(True, False) kb.row("Пары сегодня") kb.row("Уведомления") + kb.row("Сброс настроек") if message.text == "Пары сегодня": lessons = mongo.get_today_lessons(user) if len(lessons) == 0: @@ -128,6 +134,13 @@ class Answer(BaseAnswer): ) self.set_state(user, "wait_for_notify") return + elif message.text == "Сброс настроек": + kb = telebot.types.ReplyKeyboardMarkup(True, False) + kb.row("Да") + kb.row("Нет") + bot.send_message(user.chat_id, "Ты уверен что хочешь сбросить все настройки и больше не получать уведомления?", reply_markup=kb) + self.set_state(user, "reset") + return else: text = "Я не понимаю такой команды, используй кнопки." bot.send_message( @@ -165,8 +178,30 @@ class Answer(BaseAnswer): kb = telebot.types.ReplyKeyboardMarkup(True, False) kb.row("Пары сегодня") kb.row("Уведомления") + kb.row("Сброс настроек") bot.send_message(user.chat_id, text, reply_markup=kb) self.set_state(user, "ready") + def handle_state_reset(self, message: Message, user: User): + if message.text == "Да": + mongo.users_collection.delete_one({"hse_id": user.hse_id}) + kb = telebot.types.ReplyKeyboardMarkup(True, False) + kb.row("Начать заново") + bot.send_message(user.chat_id, "Настройки сброшены, ждем твоего возвращения", reply_markup=kb) + elif message.text == "Нет": + kb = telebot.types.ReplyKeyboardMarkup(True, False) + kb.row("Пары сегодня") + kb.row("Уведомления") + kb.row("Сброс настроек") + bot.send_message(user.chat_id, "Возращаюсь к прежнему режиму", reply_markup=kb) + self.set_state(user, "ready") + else: + kb = telebot.types.ReplyKeyboardMarkup(True, False) + kb.row("Да") + kb.row("Нет") + bot.send_message(user.chat_id, + "Я не понимаю, используй кнопки", + reply_markup=kb) + answer = Answer()