if self.MESSAGE.text.lower() == "!пара": try: schedule = json.loads( readfile(self.path + "schedule.json") ) current_time = datetime.datetime.now() current_week = current_time.isocalendar()[1] % 2 current_day = current_time.weekday() - 1 current_seconds = current_time.hour * 3600 + current_time.minute * 60 + current_time.second if current_day > 4: next_week = int(not bool(current_week)) day = -1 next_pair = None pair_found = False for i in schedule[next_week]: if not pair_found: day += 1 for j in schedule[next_week][i]: next_pair = schedule[next_week][i][j] pair_found = True break self.RESPONCE = "Сьогодні вихідний, тому пар немає)\nНаступна пара - {} ({}) у {}\nПосилання (якщо воно чомусь треба): {}".format(next_pair["subject"], next_pair["lector"], self.days[day], next_pair["link"]) else: for i in self.timetable: if current_seconds < i: print("[DEBUG] Looking up a relevant pair...") try: relevant_pair = schedule[current_week][current_day + 1][str(self.timetable[i])] self.RESPONCE = "Актуальна пара: {} ({})\nПосилання: {}".format(relevant_pair["subject"], relevant_pair["lector"], relevant_pair["link"]) break except Exception as e: print("[WARN] module: auto-schedule: exception {} while looking up the pair".format(e)) else: self.RESPONCE = "Сьогодні більше немає пар" except Exception as e: print("[WARN] module: auto-schedule: failed to process schedule.json ({})".format(e))