Skip to content
Peter edited this page Jul 30, 2017 · 7 revisions

Добро пожаловать на страницу документации VK Bot Java SDK

Здесь подробно описаны почти все методы, классы и параметры, используемые в библиотеке и которые могут быть полезны.

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

Доступны следующие типы сообщений (в порядке приоритета вызова): голосовое, стикер-сообщение, с гифкой, с аудио, с видео, с документом (но для гифки свой коллбэк), сообщение с прикрепленной записью со стены, сообщение с прикрепленной ссылкой, простое текстовое сообщение (без прикреплений).

Если нужно отловить несколько видов сообщений сразу, можно либо переопределить метод onMessage(Message message), который будет вызван при каждом сообщении, либо вызвать метод message.getCountOfAttachmentsByType(), который вернёт Map<String, Integer>, содержащую количество прикреплений каждого типа.
По названию каждого метода, я думаю, более чем понятно, в каких условиях он будет вызван. К тому же, каждый метод подробно прокомментирован.
Параметр message — входящее сообщение, из которого можно вытащить все нужные параметры.

Коллбэк onTyping будет вызван ~ каждые 5 секунд после того, как пользователь начал печатать и до того, как он закончит.

Clients

  • public abstract class Client Обобщённый клиент для взаимодействия с ВК
    • Client(String access_token) Базовый конструктор, позволяющий производить почти все действия.
    • Client(Integer id, String access_token) Расширенный конструктор. Если при инициализации клиента группы не указать ID, то его необходимо будет указать при вызове метода для загрузки обложки.
    • public void setLongPoll(LongPoll LP) Метод позволяет установить свои параметры для LongPoll сервера, не обязателен
    • public LongPoll longPoll() Метод возвращает экземпляр класса для взаимодействия с LongPoll сервером, прослушивания событий и изменения параметров
    • public API api() Метод возвращает экземпляр класса для взаимодействия с VK API, access_token берётся у текущего клиента.
    • геттеры и сеттеры для access_token и id клиента.
  • public class Group extends Client Клиент для взаимодействия с ВК от имени сообщества
    • public boolean isMember(Object id) Метод возвращает true, если пользователь с переданным id состоит в группе, от имени которой вызвается метод.
    • public JSONObject uploadCover(Object... params) Метод позволяет загрузить обложку в сообщество по ссылке или из файла с диска. Возвращает ответ от сервера ВК.
  • public class User extends Client Клиент для взаимодействия с ВК от имени пользователя

LongPoll

Message

  • public class Message Класс для работы с сообщениями, входящими и исходящими
    • public Message() Пустой конструктор, не устанавливающий по дефолту никаких параметров. Используется для сообщений, которые будут отправлены.
    • public Message(String accessToken, Integer messageId, Integer flags, Integer peerId, Integer timestamp, String text, JSONObject attachments, Integer randomId) Конструктор для создания объекта входящего сообщения. Не стоит использовать его для создания сообщения, которое будет отправлено, также не стоит использовать входящий параметр message у коллбэков.
    • public Message from(Client client) Создаём объект сообщения, которое будет отправлено. Устанавливаем клиента, от имени которого будет отправлено сообщение, у него будет взят access_token. Обязателен для вызова.
    • public Message to(Integer peerId) Создаём объект сообщения, которое будет отправлено. Устанавливаем id диалога, в который будет отправлено сообщение: положительный для пользователей и отрицательный для сообществ. Обязателен для вызова.
    • public Message sticker(Integer id) Указываем id стикера, который нужно отправить в сообщении. Если есть этот параметр, все остальные параметры (текст, прикепления) будут проигнорированы.
    • public Message forwardedMessages(Object... ids) Создаём объект сообщения, которое будет отправлено. Указываем (через запятую) id сообщений, которые нужно переслать.
    • public Message text(Object text) Создаём объект сообщения, которое будет отправлено. Указываем текст сообщения.
    • public Message title(Object title) Создаём объект сообщения, которое будет отправлено. Указываем заголовок сообщения (полужирный текст).
    • public Message attachments(String... attachments) Создаём объект сообщения, которое будет отправлено. Указываем прикрепления к сообщению: photo1111_1111, и т.д. через запятую, или в виде photo1111_1111,doc1111_1112.
    • public Message randomId(Integer randomId) Указываем random_id для сообщения. Если не знаете, что это и для чего, нет необходимости использовать.
    • public Message photo(String photo) Создаём объект сообщения, которое будет отправлено. Прикрепляем фото к сообщению по URL, с диска или уже загруженное, используя ссылку вида photo{owner_id}_{id}.
    • public Message doc(String doc, String... type) Создаём объект сообщения, которое будет отправлено. Прикрепляем документ к сообщению, параметры аналогично сообщению. Если грузить .mp3 или .ogg файл и указать type audio_message, к сообщению будет прикреплено голосовое сообщение, а если type будет graffiti, то прикрепится граффити.
    • public Integer send() Отправляем созданное сообщение. Обязательно перед этим должны быть вызваны методы from(), to() и хотя бы один из: text(), photo(), doc() и так далее, иначе сообщение не будет отправлено. Метод возвращает id отправленного сообщения.
    • public String messageType() Метод возвращает тип сообщения, нужен для вызова коллбэков.
    • public JSONArray getAttachments() Метод возвращает массив прикреплений полученного сообщения в виде [photo62802565_456241137, photo111_111, doc100_500].
    • public Map<String, Integer> getCountOfAttachmentsByType() Метод возвращает количество прикреплений (к полученному сообщению) каждого типа.
    • public JSONObject getVoiceMessage() Метод возвращает объект голосового сообщения, если оно есть в сообщении.
    • private String[] getForwardedMessagesIds() Метод вовзращает массив id пересланных сообщений в виде [214421,1244242,3124125].
    • А также куча геттеров, сеттеров, полей, проверок на тип сообщения, которые не нуждаются в особом представлении. Любой необходимый параметр сообщения можно получить, вызвав соответствующий метод.

API

  • public class API Класс для взаимодействия с VK API
    • public API(Client client) Конструктор, возвращающий экземпляр класса для взаимодействия с VK API, access_token берётся у переданного клиента.
    • public API(String token) Методы API будут вызваны с переданным ключом доступа.
    • public JSONObject call(String method, Object params) Делаем запрос к VK API, данный метод принимает JSONObject, Map или строку с параметрами для вызова метода API.
    • public JSONObject call(String method, Object... params) Делаем запрос к VK API, данный метод принимает перечисленные через запятую параметры.
    • Также, для отслеживания работы запросов к API добавлен "логгер", в консоль будут выводиться либо только строки запросов (setLogLevel(1)), либо только ответы от сервера ВК (setLogLevel(2)), либо и то, и то вместе (setLogLevel(3)), либо ничего ((setLogLevel(0)).

Connection

Utils

Clone this wiki locally