From b879e5e19f1a70469b616fccde749285e121624c Mon Sep 17 00:00:00 2001 From: Administrator Date: Tue, 25 Oct 2022 15:42:58 +0300 Subject: [PATCH] again and again --- helpers/answer.py | 20 +++++++++++++++++--- helpers/keyboards.py | 1 + 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/helpers/answer.py b/helpers/answer.py index c23c48d..3504f40 100644 --- a/helpers/answer.py +++ b/helpers/answer.py @@ -43,10 +43,14 @@ class Answer(BaseAnswer): def handle_state_wait_for_student_or_teacher(self, message: Message, user: User): if message.text == "Студент": - bot.send_message(user.chat_id, "Принято! Теперь отправь мне свое ФИО.") + bot.send_message(user.chat_id, "Принято! Теперь отправь мне свое ФИО.", reply_markup=again_keyboard()) + mongo.users_collection.update_one( + {"chat_id": user.chat_id}, + {"$set": {"is_teacher": False, "state": "wait_for_name"}} + ) self.set_state(user, "wait_for_name") elif message.text == "Преподаватель": - bot.send_message(user.chat_id, "Принято! Теперь отправь мне свое ФИО.") + bot.send_message(user.chat_id, "Принято! Теперь отправь мне свое ФИО.", reply_markup=again_keyboard()) mongo.users_collection.update_one( {"chat_id": user.chat_id}, {"$set": {"is_teacher": True, "state": "wait_for_name"}} @@ -59,8 +63,10 @@ class Answer(BaseAnswer): if message.text == "Начать заново": bot.send_message( message.chat.id, - "Привет! Я буду помогать тебе выживать в вышке!\nДля начала пришли мне свое ФИО.", + "Привет! Я буду помогать тебе выживать в вышке!\nДля начала сообщи мне, ты преподаватель или студент?", + reply_markup=student_or_teacher_keyboard() ) + self.set_state(user, "wait_for_student_or_teacher") return user.name = message.text data = ruz.find_person(user) @@ -91,6 +97,14 @@ class Answer(BaseAnswer): self.set_state(user, "wait_for_group") def handle_state_wait_for_group(self, message: Message, user: User): + if message.text == "Начать заново": + bot.send_message( + message.chat.id, + "Привет! Я буду помогать тебе выживать в вышке!\nДля начала сообщи мне, ты преподаватель или студент?", + reply_markup=student_or_teacher_keyboard() + ) + self.set_state(user, "wait_for_student_or_teacher") + return group = message.text data = ruz.find_person(user) if data is None: diff --git a/helpers/keyboards.py b/helpers/keyboards.py index 69d022e..4a047c7 100644 --- a/helpers/keyboards.py +++ b/helpers/keyboards.py @@ -44,6 +44,7 @@ def groups_keyboard(data): kb = telebot.types.ReplyKeyboardMarkup(True, False) for entity in data: kb.row(entity['description']) + kb.row("Начать заново") return kb