# 🚀 Anabasis VK Chat Manager **Anabasis VK Chat Manager** — специализированное десктопное приложение для HR-менеджеров и администраторов сообществ, предназначенное для автоматизации управления участниками в чатах ВКонтакте. Избавьтесь от рутины и управляйте всеми беседами из одного удобного интерфейса. --- ## ✨ Основные возможности * **🔐 Безопасная авторизация:** Вход через официальный VK OAuth во встроенном защищенном браузере. * **💾 Умное сохранение сессий:** Поддержка Persistent Cookies — не нужно вводить пароль при каждом запуске. * **⏳ Таймер токена:** Наглядное отображение времени действия сессии прямо в интерфейсе. * **📊 Массовые операции:** * Моментальная загрузка всех доступных чатов пользователя. * Групповой выбор чатов («Выбрать все» / «Снять выбор»). * Быстрое обновление списка бесед. * Выполнение массовых действий в фоновом потоке без подвисания интерфейса. * Визуальный прогресс-бар по ходу операции. * **👤 Интеллектуальный поиск ID:** Автоматическое распознавание ID пользователя из ссылок любого формата (например, `vk.com/id123`, `vk.com/durov` или просто `durov`). * **🛠 Управление в один клик:** Кнопки для мгновенного исключения или приглашения пользователя во все выбранные чаты одновременно. * **🔄 Безопасные обновления:** Проверка SHA256 и защищенная распаковка архива обновления. * **🛡 Стабильность и безопасность:** Улучшенная обработка ошибок VK API, автоматическая реакция на смену IP-адреса и безопасное хранение токена с шифрованием DPAPI в Windows. --- ## 📦 Установка и запуск ### Вариант 1: Готовый билд (Windows) 1. Перейдите в раздел **Releases** на GitHub. 2. Скачайте архив формата `AnabasisManager-1.x.zip`. 3. Распакуйте архив в удобную папку. 4. Запустите файл **AnabasisManager.exe**. ### Вариант 2: Запуск из исходного кода Вам потребуется **Python 3.10** или выше. 1. **Клонируйте репозиторий:** ```bash git clone [https://github.com/your-username/AnabasisVKChatManager.git](https://github.com/your-username/AnabasisVKChatManager.git) cd AnabasisVKChatManager ``` 2. **Настройте виртуальное окружение:** ```bash python -m venv venv # Для Windows: .\venv\Scripts\activate # Для macOS/Linux: source venv/bin/activate ``` 3. **Установите зависимости:** ```bash pip install -r requirements.txt ``` 4. **Запустите приложение:** ```bash python main.py ``` --- ## 🕹 Инструкция по использованию 1. **Вход:** Нажмите кнопку «Авторизоваться через VK». Введите данные в открывшемся окне браузера. 2. **Выбор целей:** Отметьте галочками чаты, в которых нужно произвести изменения. 3. **Данные пользователя:** Вставьте ссылку на профиль VK человека, которого нужно добавить или удалить. 4. **Действие:** Нажмите кнопку нужной операции. Следите за прогрессом в окне системных сообщений. --- ## 📂 Техническая информация ### Последние обновления - Массовые операции VK (`remove/add/admin`) выполняются в фоновом потоке, чтобы интерфейс не зависал; добавлен визуальный прогресс-бар. - Распаковка архива автообновления теперь валидирует пути перед извлечением для защиты от path traversal. - Проверка обновлений переведена на `QThread` (модель потоков Qt) вместо Python `threading.Thread`. - В Windows сохранение токена требует успешного шифрования через DPAPI; при ошибке шифрования сессия продолжается, но токен не сохраняется на диск. ### Сборка проекта (для разработчиков) Проект использует кастомный скрипт автоматизации `build.py`, который оптимизирует зависимости `PySide6` и корректно упаковывает `QtWebEngineCore`. **Команда для сборки:** ```bash python build.py ``` Скрипт автоматически: Собирает .exe через PyInstaller с использованием --collect-all для модулей WebEngine. Удаляет лишние библиотеки (PDF, Multimedia, Designer) и папки переводов, сокращая размер сборки на ~100 МБ. Создает готовый ZIP-архив с актуальной версией в названии. Хранение данных Приложение использует системные папки AppData для изоляции пользовательских данных: Windows: %APPDATA%/AnabasisVKChatManager macOS: ~/Library/Application Support/AnabasisVKChatManager В этих папках хранятся token.json (доступ к API) и web_engine_cache/ (сессия браузера). --- ## 📜 Лицензия --- Проект распространяется под лицензией MIT. Сэкономьте часы ручного труда с Anabasis VK Chat Manager.