many fixes
This commit is contained in:
parent
9a9bdd8d84
commit
f0440e3000
@ -185,10 +185,16 @@ class Answer(BaseAnswer):
|
|||||||
text = "Завтра у тебя нет пар, отдыхай."
|
text = "Завтра у тебя нет пар, отдыхай."
|
||||||
else:
|
else:
|
||||||
text = ruz.schedule_builder(lessons)
|
text = ruz.schedule_builder(lessons)
|
||||||
elif message.text == "Уведомления о парах":
|
elif message.text == "Расписание на неделю":
|
||||||
|
lessons = mongo.get_week_lessons(user)
|
||||||
|
if len(lessons) == 0:
|
||||||
|
text = "На этой неделе у тебя нет пар, отдыхай."
|
||||||
|
else:
|
||||||
|
text = ruz.schedule_builder(lessons)
|
||||||
|
elif message.text == "Напоминания о парах":
|
||||||
bot.send_message(
|
bot.send_message(
|
||||||
user.chat_id,
|
user.chat_id,
|
||||||
"Я умею уведомлять о каждой паре и о первой паре. Что хочешь настроить?",
|
"Я умею напоминать о каждой паре и о первой паре. Что хочешь настроить?",
|
||||||
reply_markup=notify_type()
|
reply_markup=notify_type()
|
||||||
)
|
)
|
||||||
self.set_state(user, "notify_type")
|
self.set_state(user, "notify_type")
|
||||||
@ -290,6 +296,16 @@ class Answer(BaseAnswer):
|
|||||||
{"chat_id": user.chat_id},
|
{"chat_id": user.chat_id},
|
||||||
{"$set": {"next_daily_notify_time": None, "daily_notify_time": None, "state": "ready"}}
|
{"$set": {"next_daily_notify_time": None, "daily_notify_time": None, "state": "ready"}}
|
||||||
)
|
)
|
||||||
|
elif text == "Назад":
|
||||||
|
bot.send_message(
|
||||||
|
user.chat_id,
|
||||||
|
"Возвращаюсь!",
|
||||||
|
reply_markup=main_keyboard()
|
||||||
|
)
|
||||||
|
mongo.users_collection.update_one(
|
||||||
|
{"chat_id": user.chat_id},
|
||||||
|
{"$set": {"next_daily_notify_time": None, "daily_notify_time": None, "state": "ready"}}
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
bot.send_message(
|
bot.send_message(
|
||||||
user.chat_id,
|
user.chat_id,
|
||||||
|
@ -4,7 +4,8 @@ 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("Сброс настроек")
|
kb.row("Сброс настроек")
|
||||||
return kb
|
return kb
|
||||||
@ -69,6 +70,7 @@ def daily_notify_type():
|
|||||||
kb.row("Текущий день")
|
kb.row("Текущий день")
|
||||||
kb.row("Следующий день")
|
kb.row("Следующий день")
|
||||||
kb.row("Не уведомлять")
|
kb.row("Не уведомлять")
|
||||||
|
kb.row("Назад")
|
||||||
return kb
|
return kb
|
||||||
|
|
||||||
|
|
||||||
|
@ -71,5 +71,19 @@ class Mongo:
|
|||||||
def get_tomorrow_lessons(self, user: User):
|
def get_tomorrow_lessons(self, user: User):
|
||||||
return self._get_lessons_on_date(user, now(user) + datetime.timedelta(days=1))
|
return self._get_lessons_on_date(user, now(user) + datetime.timedelta(days=1))
|
||||||
|
|
||||||
|
def get_week_lessons(self, user: User):
|
||||||
|
date = now(user)
|
||||||
|
date = datetime.datetime(year=date.year, month=date.month, day=date.day)
|
||||||
|
weekday = date.weekday()
|
||||||
|
next_date = date + datetime.timedelta(days=(6 - weekday))
|
||||||
|
lessons = []
|
||||||
|
for lesson in self.lessons_collection.find({
|
||||||
|
"hse_user_id": user.hse_id,
|
||||||
|
"begin": {"$gte": date, "$lte": next_date}}
|
||||||
|
):
|
||||||
|
lessons.append(lesson)
|
||||||
|
lessons.sort(key=lambda les: les["begin"])
|
||||||
|
return lessons
|
||||||
|
|
||||||
|
|
||||||
mongo = Mongo()
|
mongo = Mongo()
|
||||||
|
Loading…
Reference in New Issue
Block a user