lessons tomorrow

This commit is contained in:
Administrator 2022-10-27 00:13:27 +03:00
parent 21197e4c01
commit 8bb6fadf40
3 changed files with 17 additions and 6 deletions

View File

@ -182,6 +182,12 @@ class Answer(BaseAnswer):
text = "Сегодня у тебя нет пар, отдыхай." text = "Сегодня у тебя нет пар, отдыхай."
else: else:
text = ruz.schedule_builder(lessons) 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 == "Уведомления о парах": elif message.text == "Уведомления о парах":
bot.send_message( bot.send_message(
user.chat_id, user.chat_id,

View File

@ -3,7 +3,7 @@ import telebot
def main_keyboard(): def main_keyboard():
kb = telebot.types.ReplyKeyboardMarkup(True, False) kb = telebot.types.ReplyKeyboardMarkup(True, False)
kb.row("Пары сегодня") kb.row("Пары сегодня", "Пары завтра")
kb.row("Уведомления о парах") kb.row("Уведомления о парах")
kb.row("Ежедневные уведомления") kb.row("Ежедневные уведомления")
kb.row("Сброс настроек") kb.row("Сброс настроек")

View File

@ -53,18 +53,23 @@ class Mongo:
def lessons_collection(self): def lessons_collection(self):
return self["lessons"] return self["lessons"]
def get_today_lessons(self, user: User): def _get_lessons_on_date(self, user: User, date: datetime.datetime):
today = now(user) date = datetime.datetime(year=date.year, month=date.month, day=date.day)
tomorrow = today + datetime.timedelta(days=1) next_date = date + datetime.timedelta(days=1)
tomorrow = datetime.datetime(year=tomorrow.year, month=tomorrow.month, day=tomorrow.day)
lessons = [] lessons = []
for lesson in self.lessons_collection.find({ for lesson in self.lessons_collection.find({
"hse_user_id": user.hse_id, "hse_user_id": user.hse_id,
"begin": {"$gte": today, "$lte": tomorrow}} "begin": {"$gte": date, "$lte": next_date}}
): ):
lessons.append(lesson) lessons.append(lesson)
lessons.sort(key=lambda les: les["begin"]) lessons.sort(key=lambda les: les["begin"])
return lessons 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() mongo = Mongo()