other regions
This commit is contained in:
@@ -7,7 +7,7 @@ from daemons.bot import bot
|
||||
from daemons.fetch import fetch_schedule_for_user
|
||||
from helpers import now, get_next_daily_notify_time
|
||||
from helpers.keyboards import main_keyboard, notify_keyboard, yes_no_keyboard, again_keyboard, groups_keyboard, \
|
||||
no_daily_notify, student_or_teacher_keyboard
|
||||
no_daily_notify, student_or_teacher_keyboard, campus_keyboard
|
||||
from helpers.models import UserSchema, User
|
||||
from helpers.mongo import mongo
|
||||
from helpers.ruz import ruz
|
||||
@@ -36,10 +36,28 @@ class Answer(BaseAnswer):
|
||||
def handle_state_new(self, message: Message, user: User):
|
||||
bot.send_message(
|
||||
message.chat.id,
|
||||
"Привет! Я буду помогать тебе выживать в вышке!\nДля начала сообщи мне, ты преподаватель или студент?",
|
||||
"Привет! Я буду помогать тебе выживать в вышке!\nИз какого ты кампуса?",
|
||||
reply_markup=campus_keyboard()
|
||||
)
|
||||
self.set_state(user, "wait_for_campus")
|
||||
|
||||
def handle_state_wait_for_campus(self, message: Message, user: User):
|
||||
if message.text not in ["Москва", "Санкт-Петербург", "Нижний Новгород", "Пермь"]:
|
||||
bot.send_message(
|
||||
user.chat_id,
|
||||
"Ты прислал мне что-то непонятное, используй кнопки. Из какого ты кампуса?",
|
||||
reply_markup=campus_keyboard()
|
||||
)
|
||||
return
|
||||
bot.send_message(
|
||||
user.chat_id,
|
||||
"Принято! Ты преподаватель или студент?",
|
||||
reply_markup=student_or_teacher_keyboard()
|
||||
)
|
||||
self.set_state(user, "wait_for_student_or_teacher")
|
||||
mongo.users_collection.update_one(
|
||||
{"chat_id": user.chat_id},
|
||||
{"$set": {"campus": message.text, "state": "wait_for_student_or_teacher"}}
|
||||
)
|
||||
|
||||
def handle_state_wait_for_student_or_teacher(self, message: Message, user: User):
|
||||
if message.text == "Студент":
|
||||
@@ -56,6 +74,14 @@ class Answer(BaseAnswer):
|
||||
{"$set": {"is_teacher": True, "state": "wait_for_name"}}
|
||||
)
|
||||
self.set_state(user, "wait_for_name")
|
||||
elif message.text == "Начать заново":
|
||||
bot.send_message(
|
||||
message.chat.id,
|
||||
"Привет! Я буду помогать тебе выживать в вышке!\nИз какого ты кампуса?",
|
||||
reply_markup=campus_keyboard()
|
||||
)
|
||||
self.set_state(user, "wait_for_campus")
|
||||
return
|
||||
else:
|
||||
bot.send_message(user.chat_id, "Ты отправил мне что-то неправильное, используй кнопки. Ты преподаватель или студент?", reply_markup=student_or_teacher_keyboard())
|
||||
|
||||
@@ -63,10 +89,10 @@ class Answer(BaseAnswer):
|
||||
if message.text == "Начать заново":
|
||||
bot.send_message(
|
||||
message.chat.id,
|
||||
"Привет! Я буду помогать тебе выживать в вышке!\nДля начала сообщи мне, ты преподаватель или студент?",
|
||||
reply_markup=student_or_teacher_keyboard()
|
||||
"Привет! Я буду помогать тебе выживать в вышке!\nИз какого ты кампуса?",
|
||||
reply_markup=campus_keyboard()
|
||||
)
|
||||
self.set_state(user, "wait_for_student_or_teacher")
|
||||
self.set_state(user, "wait_for_campus")
|
||||
return
|
||||
user.name = message.text
|
||||
data = ruz.find_person(user)
|
||||
@@ -100,10 +126,10 @@ class Answer(BaseAnswer):
|
||||
if message.text == "Начать заново":
|
||||
bot.send_message(
|
||||
message.chat.id,
|
||||
"Привет! Я буду помогать тебе выживать в вышке!\nДля начала сообщи мне, ты преподаватель или студент?",
|
||||
reply_markup=student_or_teacher_keyboard()
|
||||
"Привет! Я буду помогать тебе выживать в вышке!\nИз какого ты кампуса?",
|
||||
reply_markup=campus_keyboard()
|
||||
)
|
||||
self.set_state(user, "wait_for_student_or_teacher")
|
||||
self.set_state(user, "wait_for_campus")
|
||||
return
|
||||
group = message.text
|
||||
data = ruz.find_person(user)
|
||||
@@ -120,8 +146,8 @@ class Answer(BaseAnswer):
|
||||
user.name = element['label']
|
||||
break
|
||||
if user.group is None:
|
||||
bot.send_message(user.chat_id, "Ты ввел что-то неправильно, попробуй еще раз сначала. Ты студент или преподаватель?", reply_markup=student_or_teacher_keyboard())
|
||||
self.set_state(user, "wait_for_student_or_teacher")
|
||||
bot.send_message(user.chat_id, "Ты ввел что-то неправильно, попробуй еще раз сначала. Из какого ты кампуса?", reply_markup=campus_keyboard())
|
||||
self.set_state(user, "wait_for_campus")
|
||||
return
|
||||
mongo.users_collection.update_one({"chat_id": user.chat_id}, {"$set": {
|
||||
"hse_id": user.hse_id,
|
||||
@@ -144,7 +170,7 @@ class Answer(BaseAnswer):
|
||||
else:
|
||||
bot.send_message(
|
||||
user.chat_id,
|
||||
ruz.schedule_builder(lessons),
|
||||
"Твои пары сегодня:\n" + ruz.schedule_builder(lessons),
|
||||
reply_markup=main_keyboard()
|
||||
)
|
||||
self.set_state(user, "ready")
|
||||
|
||||
Reference in New Issue
Block a user