94 lines
7.3 KiB
Plaintext
94 lines
7.3 KiB
Plaintext
# 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. |