Добавлены README и LICENSE

This commit is contained in:
Alex
2025-06-28 02:48:28 +03:00
parent 134aa88f22
commit 0dbd71c036
2 changed files with 112 additions and 0 deletions

18
LICENSE Normal file
View File

@@ -0,0 +1,18 @@
MIT License
Copyright (c) 2025 Aleksandr Denisov
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
associated documentation files (the "Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial
portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.

94
README Normal file
View File

@@ -0,0 +1,94 @@
# 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.