Coder Social home page Coder Social logo

gtvolk / vkposter Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 112 KB

Автоматизируйте размещение информации в ВКонтакте!

Kotlin 5.50% Java 94.50%
vk api java client accesstoken standalone vkontakte vkontakte-api vkontakte-client vkontakte-sdk

vkposter's Introduction

VK POSTER

Программа для автоматизированной рассылки сообщений по выбранным группам ВК и их обсуждениям

Фичи

  • Консольный, легковесный интерфейс
  • Автоматическое размещение сообщений на стенах сообществ
  • Автоматическое размещение комментариев в обсуждениях сообществ
  • Списки исключений обработки сообществ и обсуждений
  • Проверка актуальности сообщения, если сообщение ещё актуально, оно не будет создано
  • Задержка отправки для предотвращения спама и распознавания как бота
  • Несколько типов авторизации на выбор
  • Гибкая настройка
  • Полностью прозрачная и безопасная работа. Вы создаете своё приложение и сами им управляете

Создание Standalone-приложения

  1. Зайдите на сайт https://vk.com/dev
  2. Перейдите на вкладку "Мои приложения"
  3. Нажмите "Создать"
  4. Введите название приложения и выберите "Standalone-приложение"
  5. Нажмите "Подключить приложение"

Тип авторизации CODE_FLOW. Получение ИД приложения, защищенного ключа и кода авторизации

  1. В созданном приложении перейдите на вкладку "Настройки"
  2. Запишите "ID приложения"
  3. Ниже есть строка "Защищённый ключ"
  4. Откройте ссылку 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
  5. Откроется пустая страница из адресной строки которой нужно получить значение параметра 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 по защищённому ключу
  • Котлин!
  • Список исключений в названиях групп и обсуждений
  • Список исключений в ключевых словах
  • Разные сообщения для разных групп
  • Разделение обязанностей по сервисам
  • Тесты на сервисы
  • Комментарии
  • Рефакторинг

vkposter's People

Contributors

gtvolk avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.