Archive ======= Архив предыдущих версий. v1.2.4 (30 декабря 2025) ========================= Новые функции ------------- **Поддержка различных типов файлов в классах File и Photo** Классы ``Photo``, ``File`` и ``Video`` теперь поддерживают работу с байтами, что позволяет загружать файлы из памяти напрямую. **Автоматическая отправка уведомлений о прочтении сообщений** Клиент теперь автоматически отправляет сервису уведомления о получении сообщений для улучшения синхронизации. **Параметр session_name для управления сессией** Параметр ``session_name`` позволяет указать пользовательское имя файла для сохранения сессии. **Получение текущей версии веб-приложения** Новый метод ``get_current_web_version()`` в утилитах для получения текущей версии веб-приложения Max. **Улучшенная генерация User-Agent** Теперь используется библиотека ``ua-generator`` для более реалистичной генерации User-Agent строк и параметров устройства. Новые методы ------------ read_message(chat_id: int, message_id: int) -> ReadState Отмечает сообщение как прочитанное. Возвращает объект ReadState с информацией о состоянии. pymax.utils.MixinsUtils.get_current_web_version() -> str | None Получает текущую версию веб-приложения Max из источника. Возвращает версию в формате "XX.XX.XX" или None. Измененные методы ----------------- MaxClient.start() Улучшена логика работы цикла переподключения с использованием ``asyncio.Event`` для более чистого завершения. Исправлена обработка состояния при отключении и переподключении. MaxClient.close() Упрощена логика закрытия клиента. Теперь использует ``asyncio.Event`` для сигнала остановки. Новые параметры --------------- MaxClient.__init__(session_name: str = "session.db") Позволяет указать пользовательское имя файла базы данных сессии. Измененные типы --------------- BaseFile Теперь поддерживает работу с байтами через параметр ``raw`` во всех подклассах. Photo Добавлен параметр ``name`` для явного указания имени файла при работе с байтами. Улучшена валидация расширений файлов. File Добавлена поддержка работы с байтами через параметр ``raw``. Улучшена обработка имен файлов. Video Добавлена поддержка работы с байтами через параметр ``raw``. Улучшена работа с видеофайлами. Исправления и улучшения ------------------------ - Добавлена валидация ``device_type`` для MaxClient (поддерживает только WEB) и SocketMaxClient (поддерживает ANDROID, IOS, DESKTOP) - Улучшена обработка ошибок WebSocket при отключении - Добавлена опция ``ua-generator`` для более реалистичной генерации параметров устройства - Обновлена версия приложения до 25.12.14 - Улучшена обработка уведомлений о доставке сообщений - Исправлены проблемы с завершением async задач при закрытии клиента Зависимости ----------- Добавлены новые зависимости: - ``ua-generator>=2.0.19`` — для генерации реалистичных User-Agent строк и параметров устройства v1.2.3 (24 декабря 2025) ========================= Новые функции ------------- **Загрузка фотографий профиля** Профиль теперь может быть обновлен с загрузкой новой фотографии через метод ``change_profile()``. **Разрешение групп по ссылке** Группы теперь могут быть разрешены (получены) прямо по их ссылке через метод ``resolve_group_by_link()``. **Поддержка контактов в сообщениях** Сообщения теперь поддерживают вложения типа контакта с информацией о контакте (ContactAttach). **Список контактов клиента** Клиент теперь ведет список всех контактов пользователя через свойство ``client.contacts``. Новые методы ------------ MaxClient.resolve_group_by_link(link: str) -> Chat | None Разрешает группу по ссылке. Возвращает объект чата группы или None, если не найдено. MaxClient.change_profile(first_name, last_name, description, photo) Изменяет информацию профиля текущего пользователя, включая загрузку новой фотографии. Новые типы ---------- ContactAttach Представляет контакт в сообщении. Содержит информацию о контакте (ID, имя, фамилия, фото). Измененные типы --------------- Message Теперь поддерживает вложения типа ContactAttach в список attaches. Names Улучшен для работы с различными форматами имен пользователя. StickerAttach Улучшено представление стикеров в сообщениях. Photo Улучшено для работы с фотографиями профиля. AttachType Добавлено значение CONTACT для контактов. Новые параметры --------------- MaxClient.contacts: list[User] Список контактов текущего пользователя.