# Anabasis VK Chat Manager ## Описание проекта **Anabasis VK Chat Manager** — это десктопное приложение на Python с графическим интерфейсом, разработанное для упрощения управления пользователями в чатах ВКонтакте. Оно позволяет авторизоваться через VK OAuth, просматривать список своих чатов, а также исключать или приглашать пользователей в выбранные чаты. Приложение спроектировано для минимизации ручных операций и повышения удобства управления групповыми беседами VK. ## Возможности * **Авторизация через VK OAuth:** Безопасный процесс входа через официальный VK API. * **Сохранение сессии:** Поддержка сохранения куки-файлов браузера для длительной авторизации в `QWebEngineView`. * **Управление токенами:** Автоматическое сохранение и загрузка VK Access Token для удобства использования. * **Список чатов:** Загрузка и отображение списка доступных чатов пользователя. * **Выбор чатов:** Возможность выбора одного или нескольких чатов для выполнения операций. * **Автоматическое определение ID пользователя:** Получение ID пользователя VK из различных форматов ссылок (например, `vk.com/id123`, `vk.com/durov`). * **Исключение пользователей:** Удаление пользователя из выбранных чатов. * **Приглашение пользователей:** Добавление пользователя в выбранные чаты. * **Визуальный таймер токена:** Отображение оставшегося времени действия Access Token. * **Информативные сообщения:** Детальные статусы операций и сообщения об ошибках. * **Обработка ошибок:** Улучшенная обработка ошибок VK API, включая смену IP-адреса. ## Установка ### Готовый билд Скачайте последнюю доступную версию из релизов и распакуйте архив ### Ручная установка Для запуска приложения вам потребуется Python 3 и библиотеки `PySide6` и `vk_api`. 1. **Клонируйте репозиторий** 2. **Создайте и активируйте виртуальное окружение (рекомендуется):** ```bash python -m venv venv # Для Windows: .\venv\Scripts\activate # Для macOS/Linux: source venv/bin/activate ``` 3. **Установите зависимости:** ```bash pip install PySide6 vk_api ``` ## Использование 1. **Запустите приложение:** * *Готовый билд:* * Запустите **AnabasisHRChatManager.exe** * *Ручная установка:* * ```bash python main.py ``` 2. **Авторизация:** * Нажмите кнопку "Авторизоваться через VK". * В открывшемся окне браузера войдите в свой аккаунт ВКонтакте. * Разрешите доступ приложению, если потребуется. * После успешной авторизации окно закроется, и токен доступа будет сохранен. 3. **Выбор чатов:** * После авторизации приложение автоматически загрузит список ваших чатов. * Отметьте галочками те чаты, с которыми хотите работать. Используйте кнопки "Выбрать все" / "Снять выбор со всех" для удобства. * Кнопка "Обновить чаты" позволяет перезагрузить список чатов. 4. **Управление пользователями:** * В поле "Введите или вставьте ссылку на страницу VK" вставьте ссылку на страницу пользователя ВКонтакте (например, `vk.com/id123` или `vk.com/durov`). Приложение автоматически определит ID пользователя. * Нажмите кнопку "ИСКЛЮЧИТЬ ПОЛЬЗОВАТЕЛЯ" для удаления пользователя из выбранных чатов. * Нажмите кнопку "ПРИГЛАСИТЬ ПОЛЬЗОВАТЕЛЯ" для добавления пользователя в выбранные чаты. * Опция "Показать 250 последних сообщений при добавлении" позволяет управлять видимостью истории сообщений для нового участника (Примечание: VK API может игнорировать этот параметр для `messages.addChatUser`). ## Структура данных и конфигурация Приложение хранит данные в директории, специфичной для данных приложения, что соответствует рекомендациям операционных систем. * **`token.json`**: Файл для сохранения VK Access Token. Находится в `[AppDataLocation]/AnabasisVKChatManager/token.json`. * **`web_engine_cache/`**: Директория для хранения куки-файлов и кэша `QWebEngineProfile`, обеспечивающая сохранение сессии внутри встроенного браузера. Находится в `[AppDataLocation]/AnabasisVKChatManager/web_engine_cache/`. `[AppDataLocation]` соответствует: * Windows: `%APPDATA%` (например, `C:\Users\YourUser\AppData\Roaming`) * macOS: `~/Library/Application Support` * Linux: `~/.local/share` ## Известные проблемы / Ограничения * Параметр `visible_messages_count` для `messages.addChatUser` может быть проигнорирован VK API согласно официальной документации. Приложение уведомит вас об этом при попытке использования. * При смене IP-адреса, токен авторизации VK может стать недействительным, потребуется повторная авторизация. Приложение автоматически предложит её. ## Лицензия Этот проект распространяется под лицензией MIT.