Текстовые сообщения
Генератор текстовых сообщений для класса Schedule.
Используется для преобразования необработанных результатов работы методов класса Schedule. Выходным результатом генератора сообщений являются строки. Вы можете использовать их в чат-ботах, например Telegram.
MessagesView(sc: Schedule | None = None)
Bases: View[str]
Предоставляет методы для более удобной работы с расписанием.
В отличие от необработанных результатов работы Schedule, данный генератор сообщения в своих методах возвращает строки. Генератор сообщений используется в чат-ботах, поскольку возвращает уже готовые текстовые сообщения.
sc: Schedule = sc or Schedule()
instance-attribute
timetable = Timetable([LessonTime(time(8, 0), time(8, 45)), LessonTime(time(8, 55), time(9, 40)), LessonTime(time(10, 0), time(10, 45)), LessonTime(time(11, 5), time(11, 50)), LessonTime(time(12, 0), time(12, 45)), LessonTime(time(12, 55), time(13, 40)), LessonTime(time(13, 50), time(14, 35)), LessonTime(time(14, 45), time(15, 30))])
instance-attribute
get_status(user: User) -> str
async
Возвращает информацию о платформе.
Эта статистическая информация, о работа парсера, времени последней проверки и обновления и прочих параметрах, связанных с поставщиком и пользователями платформы.
lessons(intent: Intent) -> str
Собирает сообщение с расписанием уроков.
Обёртка над методом класса Schedule для получения расписания. Принимает намерения, для уточнения форматов расписание. Форматирует сообщений с помощью send_day_lessons.
current_day(intent: Intent) -> int
Получает текущий или следующий день если уроки кончились.
Работает это так, если уроки ещё не кончились, то вернёт номер текущего дня. Иначе же прибавит +1 к текущему номер дня. Также автоматически происходит сдвиг на понедельник, если нужно. это используется при умном получении расписания на сегодня или завтра в зависимости от времени.
relative_day(user: User) -> str
Получает строковое название текущего дня недели.
Возвращает Сегодня/Завтра/день недели, в зависимости от прошедших уроков.
Не принимает намерение, получает день только для переданного пользователя.
today_lessons(intent: Intent) -> str
Расписание уроков на сегодня/завтра.
Работает как lessons. Отправляет расписание для классов на сегодня, если уроки ешё идут. Отправляет расписание на завтра, если уроки на сегодня уже кончились.
Использует намерения для уточнения расписания. Однако будет игнорировать указанные дни в намерении. Иначе используйте метод lessons.
search(target: str, intent: Intent, cabinets: bool = False) -> str
Поиск по имена урока/кабинета в расписании.
Производит поиск в расписании. А после собирает сообщение с результатами поиска.
Поиск немного изменяется в зависимости от режима.
+----------+---------+---------+ | cabinets | obj | another | +==========+=========+=========+ | false | lesson | cabinet | +----------+---------+---------+ | true | cabinet | lesson | +----------+---------+---------+
update(update: UpdateData, hide_cl: str | None = None) -> str
Собирает сообщение со списком изменений в расписании.
Собирает полноценное сообщение со всеми изменениями. Также добавляет заголовок записи об изменениях.
Переданный класс в hide_cl не будет отображаться в
заголовке классов.
Это полезно если вы получаете изменения только для одного
класса.
Пример сообщения со списком изменений:
Если hide_cl="5б":
check_updates(user: User) -> str | None
async
Проверяет обновления пользователя в расписании.
Если изменения есть, добавляет заголовок и отображает сжатую запись со всеми изменениями в расписании.
counter(groups: dict[int, dict[str, dict]], target: CounterTarget | None = None, days_counter: bool = False) -> str
Возвращает сообщение с результатами работы счётчика.
Собирает сообщение сгруппированного результата работы счётчика. Отображает результаты счётчика, отсортированные от большего к меньшему. Если указана подгруппу (target), то она также буде включена в результаты счётчика.
plural_form(n: int, v: tuple[str, str, str]) -> str
Возвращает склонённое значение в зависимости от числа.
Возвращает склонённое слово: "для одного", "для двух", "для пяти" значений.
get_str_timedelta(s: int, hours: bool | None = True) -> str
Возвращает строковый обратный отсчёт из количества секунд.
Если hours = False -> ММ:SS. Если hours = True -> HH:MM:SS.
send_search_res(intent: Intent, res: list) -> str
Собирает сообщение с результатами поиска в расписании.
Является некоторой обёрткой над функцией send_day_lessons. Собирает заголовок поискового запроса и возвращает результаты поиска. Передайте сюда намерение, которое использовалось при поиске. Поскольку оно будет использовано также для сборки заголовка.