-
Notifications
You must be signed in to change notification settings - Fork 16
Home
Здесь подробно описаны почти все методы, классы и параметры, используемые в библиотеке и которые могут быть полезны.
- onMessage(Message message)
- onPhotoMessage(Message message)
- onSimpleTextMessage(Message message)
- onVideoMessage(Message message)
- onAudioMessage(Message message)
- onDocMessage(Message message)
- onWallMessage(Message message)
- onStickerMessage(Message message)
- onLinkMessage(Message message)
- onVoiceMessage(Message message)
- onGifMessage(Message message)
- onTyping(Integer user_id)
По названию каждого метода, я думаю, более чем понятно, в каких условиях он будет вызван. К тому же, каждый метод подробно прокомментирован.
Доступны следующие типы сообщений (в порядке приоритета вызова): голосовое
, стикер-сообщение
, с гифкой
, с аудио
, с видео
, с документом
(но для гифки свой коллбэк), сообщение с прикрепленной записью со стены
, сообщение с прикрепленной ссылкой
, простое текстовое сообщение
(без прикреплений).
Если нужно отловить несколько видов сообщений сразу, можно либо переопределить метод onMessage(Message message), который будет вызван при каждом сообщении, либо вызвать метод message.getCountOfAttachmentsByType(), который вернёт Map<String, Integer>
, содержащую количество прикреплений каждого типа.
По названию каждого метода, я думаю, более чем понятно, в каких условиях он будет вызван. К тому же, каждый метод подробно прокомментирован.
Параметр message
— входящее сообщение, из которого можно вытащить все нужные параметры.
Коллбэк onTyping
будет вызван ~ каждые 5 секунд после того, как пользователь начал печатать и до того, как он закончит.
-
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 Клиент для взаимодействия с ВК от имени пользователя
-
public class LongPoll Класс для взаимодействия с longpoll сервером, больше тут
- public LongPoll(String access_token) Базовый конструктор для работы с longpoll сервером, использующим дефолтные параметры
- public LongPoll(String access_token, Integer need_pts, Integer version, Double API, Integer wait, Integer mode) Расширенный конструктор, позволяющий установить все необходимые параметры
- public void off() Метод позволяет отключить прослушку событий longpoll сервера, и затем установить новый longpoll сервер клиенту, если необходимо поменять параметры, или для чего-то ещё.
- private void setData(String access_token, Integer need_pts, Integer version, Double API, Integer wait, Integer mode) Метод устаналивает все параметры перед запросом к API VK для получения списка событий
- private GetLongPollServerResponse getLongPollServer(String access_token) Метод возвращает список событий longpoll сервера
- public void listen(Callback callback) Метод вызывает у передаваемого коллбэка методы в зависимости от полученного списка событий
- public class GetLongPollServerResponse Десериализованный ответ от longpoll сервера
-
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
файл и указать typeaudio_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]
. - А также куча геттеров, сеттеров, полей, проверок на тип сообщения, которые не нуждаются в особом представлении. Любой необходимый параметр сообщения можно получить, вызвав соответствующий метод.
-
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)).
-
public API(Client client) Конструктор, возвращающий экземпляр класса для взаимодействия с VK API,
-
public final class Connection Класс для взаимодействия с сетью
- public static JSONObject getRequestResponse(String url) Отправляем GET-запрос
- public static JSONObject postRequestResponse(String url, String Body) Отправляем POST-запрос
- public static String getFileUploadAnswerOfVK(String uploadUrl, String fieldName, MediaType mediaType, File file) Загружаем файл в ВК
-
public class Utils Класс, содержащий
свистелки и перделкиважные и полезные методы.-
public static void setTimeout(Runnable runnable, int delay) Аналог метода
setTimeout
изjavascript
. - public static String MapToURLParamsQuery(Object arr) Метод возвращает строку для запроса, созданную из Map / JSONObject
-
public static String toQueryString(Object o) Метод превращает строку, разделенную запятыми, созданную из
List
/String[]
/Object[]
/JSONArray
. -
public static String paramsToString(Object... params) Метод превращает строку
param=value&one=1
из перечисленного списка аргументов (их должно быть четное количество - пара ключ-значение). -
public static int sizeOfFile(String url, String dim) Метод возвращает размер файла по URL в
bits
/kbits
/mbits
-
public static void setTimeout(Runnable runnable, int delay) Аналог метода