36 lines
1.2 KiB
Python
36 lines
1.2 KiB
Python
import datetime
|
|
|
|
from .__events__ import Event, Time, addEvent
|
|
from models.user import getAllUsers
|
|
from models.bot import send
|
|
|
|
class Lesson(Event):
|
|
weekdays = [0,1,2,3,4]
|
|
time = [Time(8, 45), Time(10, 30), Time(13, 00), Time(14, 45), Time(16, 30)]
|
|
sleep = 60*10
|
|
|
|
@staticmethod
|
|
def execute() -> None:
|
|
lessonTime = datetime.datetime.now() + datetime.timedelta(minutes=15)
|
|
for user in getAllUsers():
|
|
if not 'lesson' in user.notifications: continue
|
|
s = user.schedule()
|
|
if not s: continue
|
|
t = s.today()
|
|
if t == []: continue
|
|
w = f'<b>Скоро начнется пара</b>\n'
|
|
for lessonList in t:
|
|
if len(lessonList) == 1:
|
|
if [lessonTime.hour, lessonTime.minute] == lessonList[0].start:
|
|
w += lessonList[0].text(isToday = True)
|
|
|
|
else:
|
|
lesson = lessonList[1 if s.weekNumber%2 == 0 else 0]
|
|
if lesson and [lessonTime.hour, lessonTime.minute] == lesson.start:
|
|
w += lesson.text(isToday = True)
|
|
|
|
if len(w.split('\n')) > 2: send(user.id, w)
|
|
|
|
|
|
addEvent(Lesson)
|
|
|