- Поддерживаемые версии
- 1.12
- 1.13
- 1.14
- 1.15
- 1.16
- 1.17
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
Вопросы/Ответы:
Как отправлять сообщения?
Код:
Как использовать ивенты?
Ответ: Точно так же как и обычные ивенты от банжи.
Что требуется для запуска бота?
Ответ: Токен и ID группы.
Насколько большая нагрузка?
Ответ: Нагрузки почти не заметно, потому что проверка ивентов происходит в асинхронном режиме.
Как выглядит конфиг?
Ответ:
Как добавить кнопки?
Ответ:
Результат:
Если найдете баги пишите мне в ВК, либо в Discussions!
Мой ВК: vk.com/bbaty45
Использованная библиотека: https://github.com/VKCOM/vk-java-sdk
Данный плагин для создание чат ботов для сайта 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();
Результат:
Если найдете баги пишите мне в ВК, либо в Discussions!
Мой ВК: vk.com/bbaty45
Использованная библиотека: https://github.com/VKCOM/vk-java-sdk