lessons tomorrow
This commit is contained in:
parent
21197e4c01
commit
8bb6fadf40
@ -182,6 +182,12 @@ class Answer(BaseAnswer):
|
||||
text = "Сегодня у тебя нет пар, отдыхай."
|
||||
else:
|
||||
text = ruz.schedule_builder(lessons)
|
||||
elif message.text == "Пары завтра":
|
||||
lessons = mongo.get_tomorrow_lessons(user)
|
||||
if len(lessons) == 0:
|
||||
text = "Завтра у тебя нет пар, отдыхай."
|
||||
else:
|
||||
text = ruz.schedule_builder(lessons)
|
||||
elif message.text == "Уведомления о парах":
|
||||
bot.send_message(
|
||||
user.chat_id,
|
||||
|
@ -3,7 +3,7 @@ import telebot
|
||||
|
||||
def main_keyboard():
|
||||
kb = telebot.types.ReplyKeyboardMarkup(True, False)
|
||||
kb.row("Пары сегодня")
|
||||
kb.row("Пары сегодня", "Пары завтра")
|
||||
kb.row("Уведомления о парах")
|
||||
kb.row("Ежедневные уведомления")
|
||||
kb.row("Сброс настроек")
|
||||
|
@ -53,18 +53,23 @@ class Mongo:
|
||||
def lessons_collection(self):
|
||||
return self["lessons"]
|
||||
|
||||
def get_today_lessons(self, user: User):
|
||||
today = now(user)
|
||||
tomorrow = today + datetime.timedelta(days=1)
|
||||
tomorrow = datetime.datetime(year=tomorrow.year, month=tomorrow.month, day=tomorrow.day)
|
||||
def _get_lessons_on_date(self, user: User, date: datetime.datetime):
|
||||
date = datetime.datetime(year=date.year, month=date.month, day=date.day)
|
||||
next_date = date + datetime.timedelta(days=1)
|
||||
lessons = []
|
||||
for lesson in self.lessons_collection.find({
|
||||
"hse_user_id": user.hse_id,
|
||||
"begin": {"$gte": today, "$lte": tomorrow}}
|
||||
"begin": {"$gte": date, "$lte": next_date}}
|
||||
):
|
||||
lessons.append(lesson)
|
||||
lessons.sort(key=lambda les: les["begin"])
|
||||
return lessons
|
||||
|
||||
def get_today_lessons(self, user: User):
|
||||
return self._get_lessons_on_date(user, now(user))
|
||||
|
||||
def get_tomorrow_lessons(self, user: User):
|
||||
return self._get_lessons_on_date(user, now(user) + datetime.timedelta(days=1))
|
||||
|
||||
|
||||
mongo = Mongo()
|
||||
|
Loading…
Reference in New Issue
Block a user