• v6.0 8d72ef2f76

    Milinuri Nirvalen released this 2024-06-22 11:07:56 +04:00 | 186 commits to main since this release

    Данное масштабное обновление связано с изменениями в архитектуре проекта.
    Как вы возможно уже знаете, связующим компонентом до этого обновления был
    SPMessages, который отвечает как за подготовку текстовых сообщений,
    так и за работу с пользователями.
    Данное масштабное обновление добавляет новое хранилище пользователей.
    Обо всём по порядку.

    Docs

    Не обошло стороной обновление и изменения в документации.
    За долгое время документация несколько освежилась.
    Это позволит вам лучше понять как работают те или иные методы проекта.

    • Добавлены некоторые подсказки к будущим обновлениям.
    • counter Добавлено описание перечисления CounterTarget.
    • Добавлена странница exceptions.
    • Обновлён index, описание стало более актуальным, появилась подсказка
      относительно обновления sp v6.
    • intents Описание альтернативного способа создания намерений через
      методы Schedule.
    • messages Описание временного класса расписания звонков.
    • messages Предупреждение о возможно скором переносе некоторых функций.
    • messages Удалены методы для работы с пользователем.
    • parser Описание класса ScheduleFile.
    • parser Обновлены ссылки на прочие разделы документации.
    • parser Обновлены заголовки.
    • parser Описание где можно применять некоторые из методов.
    • Добавлена страница документации для platform, text_counter, users.
    • Многочисленные правки строк документации в проекте.

    Exceptions

    Постепенно проект становится не таким безмолвным, если что-то идёт не так.
    Для этого появились первые исключения, связанные с несовместимостью класса
    представления или если вы захотите использовать класс представления, но не
    установили его в платформе.

    • Добавлено исключение ViewCompatibleError.
    • Добавлено исключение ViewSelectedError.

    Platform

    Добавлен новый класс платформы, которой вскоре станет мостом между поставщиками
    расписаниями и их потребителями.
    Платформа под капотом настраивает пользовательских хранилища, а также классы
    представления (Пока только SPMessages).

    • Добавлен класс Platform.
    • Добавлены геттеры и сеттеры для установки класса представления.
    • Добавлен метод get_user для быстрого получения пользователя.
    • Добавлены методы для получения хранилища намерений пользователя.

    Messages

    • Подчищен код.
    • Удалены константы пользовательских путей к хранилищу.
    • Конструктор SPMessages больше не требует передачи пользовательских данных.
      Теперь можно использовать SPMessages обособленно.
    • Многие методы принимают экземпляр пользователя для работы.
    • send_status() сокращает объём отображаемой статистики из-за изменений.
      После это будет исправлено.
    • Удалены методы для работы с пользователями.
    • Получила аттрибут API_VERSION отражающая совместимость с платформой.

    Users

    • Добавлен класс UserData, для хранения данных пользователя.
    • Класс FileUserStorage - хранилище пользователей в JSON файле.
    • Класс User - для управления конкретным пользователем хранилища.
    • В FileUserStorage добавлены основные методы для работы с хранилищем.
    • В User добавлены методы для управления пользователем платформы.
    • Добавлен метод unset_class() для сброса класса, без сброса прочих данных.
    • Пользовательское хранилище перемещено в sp.users.
    • Хранилище намерений пользователя перенесено из Телеграм бота.
    • Все методы получили подробную документацию.

    Telegram v2.4

    • Переведена под использование нового хранилища пользователей.
    • Обновлены комментарии и строки документации, которые помогут в формировании
      документации платформ.
    • Теперь можно получить доступ к данным пользователя, использую аргумент
      user в обработчиках.
    • Исправлено отображение ближайшего дня при смене и установке класса.
    • Использует новый класс Platform.
    • Некоторое изменение поведение обработки исключений от Telegram.
    • Хранилище намерений перемещено в sp.users.intents.

    CLI v1.6

    Оболочка командной строки также не осталась без внимания.
    Добавили новые обработчики пользовательского хранилища.
    Теперь вы сможете использовать sp cli, чтобы управлять пользователями
    в хранилище.

    • Использует новый класс Platform и хранилища пользователей.
    • Аргументы счётчика используют CounterTarget.
    • Ключ -u позволяет переопределить ID пользователя.
    • Ключ -s позволяет определить путь к хранилищу пользователей.
    • user get: Получает информацию о пользователе.
    • user count: Считает пользователей в хранилище.
    • user users: Получить полный список пользователей из хранилища.
    • user create: Создать нового / сбросить данные пользователя.
    • user remove:Удалить пользователя из хранилища.
    • user class <cl>: Установить класс по умолчанию.
    • user notify <on|off>: Включить / отключить рассылку уведомлений.
    • user hour-add <hour>: Включить рассылку расписания в указанный час.
    • user hour-remove <hour>: Отключить рассылку расписания в указанный час.
    • user hour-reset: Сбросить рассылку расписания.