VK-API

Для ядра VK-API Snapshot 0.13

Нет прав для скачивания
Поддерживаемые версии
  1. 1.12
  2. 1.13
  3. 1.14
  4. 1.15
  5. 1.16
THIS PLUGIN FOR CREATING CHAT BOTS IN VK.COM
Данный плагин для создание чат ботов для сайта vk.com. В нем присутствуют ивенты

На данный момент 43 ивента:
VKJsonEvent
VKMessageEvent
VKMessageTypingEvent
VKCallbackButtonPressEvent
VKAudioNewEvent
VKBoardDeleteEvent
VKBoardEditEvent
VKBoardNewEvent

VKBoardRestoreEvent
VKGroupChangePhotoEvent
VKGroupChangeSettingsEvent
VKGroupOfficersEdit
VKLikeAddEvent
VKLikeRemoveEvent
VKMarketCommentDeleteEvent
VKMarketCommentEditEvent
VKMarketCommentRestoreEvent
VKMessageAllowEvent
VKMessageDenyEvent
VKMessageEditEvent
VKMessageReplyEvent
VKPhotoCommentDeleteEvent
VKPhotoCommentEditEvent
VKPhotoCommentRestoreEvent
VKPhotoNewEvent
VKPollVoteNewEvent
VKPostNewEvent
VKPostReplyEditEvent
VKPostReplyEvent
VKPostReplyRestoreEvent
VKPostRepostEvent
VKUserBlockEvent
VKUserUnblockEvent
VKUserGroupLeaveEvent
VKUserGroupJoinEvent
VKVideoCommentDeleteEvent
VKVideoCommentEditEvent
VKVideoCommentEvent
VKVideoCommentRestoreEvent
VKVideoNewEvent

В данный момент отсутвуют ивенты: VKMarketOrderNewEvent, VKMarketOrderEditEvent, ивенты связанный с VKPAY и VK Donut

Вопросы/Ответы:
Как отправлять сообщения?
Код:

Java:
//С использованием VKUtil
//Отправка в личные сообщения юзеру. Могут возникнуть ошибки если группа не может отправить сообщения, подробнее читать тут: https://vk.com/dev/messages.send
VKAPI.getInstance().vkutil.sendMSGtoUser(ID пользователя,Сообщение);

//Отправка сообщения в беседу, или в личку юзера используя PeerId (int) ( Его можно получить если использовать message.getPeerId())
VKAPI.getInstance().vkutil.sendMSGtoPeer(peerID,Сообщение);

//Без использования VKUtil
//Юзеру:
try{
VKAPI.getInstance().vk.messages().send(VKAPI.getInstance().actor).message("Сообщение").userId(ID пользователя).randomId(VKAPI.getInstance().random.nextInt(10000)).execute();
} catch (ApiException | ClientException e) {
            e.printStackTrace();
}
//В беседу
try{
VKAPI.getInstance().vk.messages().send(VKAPI.getInstance().actor).message("Сообщение").peerId(message.getPeerId()).randomId(VKAPI.getInstance().random.nextInt(10000)).execute();
} catch (ApiException | ClientException e) {
            e.printStackTrace();
}

Как использовать ивенты?
Ответ: Точно так же как и обычные ивенты от баккита.

Что требуется для запуска бота?
Ответ: Токен и ID группы.

Насколько большая нагрузка?
Ответ: Нагрузки почти не заметно, потому что проверка ивентов происходит в асинхронном режиме.

Как выглядит конфиг?
Ответ:

Код:
groupInfo:
  groupID: idВашейГруппы
  groupToken: 'ТутВашТокен' #ВНИМАНИЕ! Не делитесь ни с кем вашим токеном, иначе это даст доступ к боту
settings:
  delay: 20 #ВНИМАНИЕ! Не ставьте слишком низкие числа ( не ниже 5)
  disableGroupListener: true #Плагин будет игнорировать сообщения от групп
Как добавить кнопки?
Ответ:

Java:
        //Создаём клавиатуру
        Keyboard keyboard = new Keyboard();
        //Создаём список который хранит все линии
        List<List<KeyboardButton>> allKey = new ArrayList<>();
        //Создаём для каждой линии список кнопок
        List<KeyboardButton> line1 = new ArrayList<>();
        List<KeyboardButton> line2 = new ArrayList<>();
        //Добавляем в первую линию кнопку с цветом DEFAULT
        line1.add(new KeyboardButton()
                .setAction(new KeyboardButtonAction().setLabel("Дефолт кнопка").setType(TemplateActionTypeNames.TEXT))
                .setColor(KeyboardButtonColor.DEFAULT));
        //Добавляем в первую линию кнопку с цветом NEGATIVE
        line1.add(new KeyboardButton()
                .setAction(new KeyboardButtonAction().setLabel("Негативная кнопка").setType(TemplateActionTypeNames.TEXT))
                .setColor(KeyboardButtonColor.NEGATIVE));
        //Добавляем в вторую линию кнопку с цветом POSITIVE
        line2.add(new KeyboardButton()
                .setAction(new KeyboardButtonAction().setLabel("Позитивная кнопка").setType(TemplateActionTypeNames.TEXT))
                .setColor(KeyboardButtonColor.POSITIVE));
        //Добавляем в вторую линию кнопку с цветом PRIMARY
        line2.add(new KeyboardButton()
                .setAction(new KeyboardButtonAction().setLabel("Основная кнопка").setType(TemplateActionTypeNames.TEXT))
                .setColor(KeyboardButtonColor.PRIMARY));
        //Добавляем линии в список
        allKey.add(line1);
        allKey.add(line2);
        //keyboard.setOneTime(true) при таком коде клавиатура исчезнет после её использования
        //Прикрепляем клавиатуру К сообщению, ВНИМАНИЕ!!! OneTime и Inline (true) не работают вместе
        keyboard.setInline(true);
        //Выставляем кнопки
        keyboard.setButtons(allKey);
        //Чтобы прикрепить к сообщению используем .keyboard(Клавиатура)
        //Пример:
        vk.messages().send(actor).message("Текст")
                                        .peerId(message.getPeerId()).randomId(random.nextInt(10000))
                                        .keyboard(keyboard).execute();
Результат:

Снимок.PNG

Если найдете баги пишите мне в ВК, либо в Discussions!

Мой ВК: vk.com/bbaty45

Использованная библиотека: https://github.com/VKCOM/vk-java-sdk
Зависимости
Нету
Команды и права
Нету комманд и прав
Автор
GDame
Скачивания
64
Просмотры
2,020
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

Другие ресурсы пользователя GDame

Поделиться ресурсом

Последние обновления

  1. Fixed LongPollServerKeyExpiredException error console spam (Фикс ошибки лонгпула)

    Обновление в заголовке
  2. Нововведения: VKMessageTypingEvent, VKCallbackButtonPressEvent и 1 фикс

    В данном обновлении VK-API переведён на VK Java SDK 1.0.9. Добавлен ивент VKMessageTypingEvent...
Назад
Сверху Снизу