Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gtvolk/vkposter
Автоматизируйте размещение информации в ВКонтакте!
https://github.com/gtvolk/vkposter
accesstoken api automation bot client java poster standalone vk vk-api vkontakte vkontakte-api vkontakte-client vkontakte-sdk
Last synced: 23 days ago
JSON representation
Автоматизируйте размещение информации в ВКонтакте!
- Host: GitHub
- URL: https://github.com/gtvolk/vkposter
- Owner: GTVolk
- Created: 2021-09-24T13:25:32.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2022-03-21T13:06:58.000Z (almost 3 years ago)
- Last Synced: 2024-10-31T13:22:24.289Z (2 months ago)
- Topics: accesstoken, api, automation, bot, client, java, poster, standalone, vk, vk-api, vkontakte, vkontakte-api, vkontakte-client, vkontakte-sdk
- Language: Java
- Homepage:
- Size: 109 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# VK POSTER
Программа для автоматизированной рассылки сообщений по выбранным группам ВК и их обсуждениям
## Фичи
- Консольный, легковесный интерфейс
- Автоматическое размещение сообщений на стенах сообществ
- Автоматическое размещение комментариев в обсуждениях сообществ
- Списки исключений обработки сообществ и обсуждений
- Проверка актуальности сообщения, если сообщение ещё актуально, оно не будет создано
- Задержка отправки для предотвращения спама и распознавания как бота
- Несколько типов авторизации на выбор
- Гибкая настройка
- Полностью прозрачная и безопасная работа. Вы создаете своё приложение и сами им управляете## Создание Standalone-приложения
1. Зайдите на сайт https://vk.com/dev
2. Перейдите на вкладку "Мои приложения"
3. Нажмите "Создать"
4. Введите название приложения и выберите "Standalone-приложение"
5. Нажмите "Подключить приложение"## Тип авторизации CODE_FLOW. Получение ИД приложения, защищенного ключа и кода авторизации
1. В созданном приложении перейдите на вкладку "Настройки"
2. Запишите "ID приложения"
3. Ниже есть строка "Защищённый ключ"
3. Откройте ссылку https://oauth.vk.com/authorize?client_id=<ВАШ ID ПРИЛОЖЕНИЯ>&display=page&redirect_uri=https://oauth.vk.com/blank.html&scope=268431359&response_type=code&v=5.131&state=123456
4. Откроется пустая страница из адресной строки которой нужно получить значение параметра code, это и будет код авторизацииПри отсутствии каких-либо параметров приложение само их запросит и покажет вашу ссылку
## Тип авторизации TOKEN (по-умолчанию). Получение ИД пользователя и токена доступа
1. В созданном приложении перейдите на вкладку "Настройки"
2. Запишите "ID приложения"
3. Откройте ссылку https://oauth.vk.com/authorize?client_id=<ВАШ ID ПРИЛОЖЕНИЯ>&display=page&redirect_uri=https://oauth.vk.com/blank.html&scope=268431359&response_type=token&v=5.131&state=123456
4. Откроется пустая страница из адресной строки которой нужно получить значение параметров access_token (Токен доступа) и user_id (ИД пользователя) это и будут нужные для API параметрыПри отсутствии каких-либо параметров приложение само их запросит и покажет вашу ссылку
## Подготовка
- Зайдите https://vk.com/bookmarks?type=group и создайте новую метку по кнопке "Создать новую метку"
- При наведении мышкой на группу в дополнительном меню "Настроить метки" выберите созданную метку## Описание настроек
- authType: Множество(CODE_FLOW, TOKEN) - Тип авторизации
- appId: Число - ИД приложения
- secretKey: Строка - Ваш защищенный ключ приложения
- redirectUri: Строка - URL перенаправления запроса. По-умолчанию https://oauth.vk.com/blank.html
- authorizationCode: Строка - Ваш код авторизации
- userId: Число - Ваш UserID полученный на предыдущем шаге
- accessToken: Строка - Ваша хеш-строка с токеном доступа полученным на предыдущем шаге
- tags: Список строк - Список меток с группами в разделе "Избранное", в эти группы будет осуществляться рассылка сообщений
- postMessage: Строка - Сообщение, которое будет рассылаться
- postMessageQuery: Строка - Сообщение или его часть, которая будет использоваться для поиска, если такое сообщение будет найдено, то пост создан не будет. Например, если мы хотим разместить запись "Продам гараж, телефон +7 (999) 399 29 29", и задав в этом параметре "Продам гараж", то если в какой-либо группе на стене в пределах groupPostQuerySize (см. далее) или в обсуждении в пределах groupTopicQuerySize (см. далее) будет найдено сообщение "Продам гараж", то сообщение размещено не будет, иначе будет создано.
- postToGroups: Логический - true - если размещаем посты на стене сообществ, false - не размещаем
- postToGroupsTopics: Логический - true - если размещаем посты в обсуждениях сообществ, false - не размещаем
- tagPagesQuerySize: Число - Количество групп которые будут получены из метки и обработаны (максимум 100)
- groupPostQuerySize: Число - Количество постов на стене, которые будут получены из группы и, в рамках которых, будет поиск по postMessageQuery (см. выше)(максимум 100)
- groupTopicQuerySize: Число - Количество комментариев в обсуждениях, которые будут получены из обсуждения и, в рамках которых, будет поиск по postMessageQuery (см. выше) (максимум 100)
- excludedGroups: Список чисел - Задает список ИД групп, которые необходимо пропустить и не выкладывать у них на стену ничего и никогда (сообщества всё ещё будут обработаны)
- excludedGroupsTopics: Список ключ-значение (Ключ: число, Значение: список чисел) - Ключ - ИД группы, Значения - ИД обсуждений. Задает список обсуждений групп, которые необходимо пропустить и не выкладывать в них ничего и никогда.## TODO:
- GUI с выбором групп, обсуждений
- Автоматическое получение AccessToken по защищённому ключу
- Котлин!
- Список исключений в названиях групп и обсуждений
- Список исключений в ключевых словах
- Разные сообщения для разных групп
- Разделение обязанностей по сервисам
- Тесты на сервисы
- Комментарии
- Рефакторинг