K
Klem5605 березня 2022 р. 11:34

Vk api на java. Как сделать кнопки

Java, VK, API

Вот код:

public class Bot {
public static void main(String[] args) throws ClientException, ApiException, InterruptedException {
TransportClient transportClient = new HttpTransportClient();
VkApiClient vk = new VkApiClient(transportClient);
Random random = new Random();
Keyboard keyboard = new Keyboard();
List > allKey = new ArrayList<>();
List line1 = new ArrayList<>();
line1.add(new KeyboardButton()).setAction(new KeyboardButtonAction().setLabel("Привет").setType(KeyboardButtonActionType.TEXT).setColor(KeyboardButtonColor.POSITIVE));
line1.add(new KeyboardButton()).setAction(new KeyboardButtonAction().setLabel("Кто я?").setType(KeyboardButtonActionType.TEXT).setColor(KeyboardButtonColor.POSITIVE));
keyboard.setButtons(allKey);
GroupActor actor = new GroupActor(211045078, "Key");
Integer ts = vk.messages().getLongPollServer(actor).execute().getTs();
while(true){
MessagesGetLongPollHistoryQuery historyQuery = vk.messages().getLongPollHistory(actor).ts(ts);
List messages = historyQuery.execute().getMessages().getItems();
if(!messages.isEmpty()){
messages.forEach(message -> {
System.out.println(message.toString());
try {
if (message.getText().equals("Привет")){
vk.messages().send(actor).message("Привет").userId(message.getFromId()).randomId(random.nextInt(10000)).execute();
}
else if (message.getText().equals("Кто я?")) {
vk.messages().send(actor).message("Ты хороший человек.").userId(message.getFromId()).randomId(random.nextInt(10000)).execute();
}
else if (message.getText().equals("Кнопки")){
vk.messages().send(actor).message("А вот и они").userId(message.getFromId()).randomId(random.nextInt(10000)).keyboard(keyboard).execute();
}
else {
vk.messages().send(actor).message("Я тебя не понял").userId(message.getFromId()).randomId(random.nextInt(10000)).execute();
}
}catch (ApiException | ClientException e) {e.printStackTrace();}
});
}
ts = vk.messages().getLongPollServer(actor).execute().getTs();
Thread.sleep(500);
}
}
}

И на строке---
line1.add(new KeyboardButton()).setAction(new KeyboardButtonAction().setLabel("Привет").setType(KeyboardButtonActionType.TEXT).setColor(KeyboardButtonColor.POSITIVE));

Выдаёт ошибку 'setType(com.vk.api.sdk.objects.messages.TemplateActionTypeNames)' in 'com.vk.api.sdk.objects.messages.KeyboardButtonAction' cannot be applied to '(com.vk.api.sdk.objects.messages.KeyboardButtonActionType)'
Как это решить? Для java докуменация просто идиотия:|

Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Стабільний хостинг, на якому розміщується соціальна мережа EVILEG. Для проектів на Django радимо VDS хостинг.

Вам це подобається? Поділіться в соціальних мережах!

1
АМ
  • 24 березня 2022 р. 02:12

Првиет
line1.add(new KeyboardButton().setAction(new KeyboardButtonAction().setLabel("Текст кнопки").setType(TemplateActionTypeNames.TEXT)).setColor(KeyboardButtonColor.POSITIVE));

А вообще там градл уже другой

plugins {
id 'java'
id 'application'
}
apply plugin: 'java'
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}

repositories {
mavenCentral()
}

mainClassName = 'class.name'

dependencies {
implementation 'com.vk.api:sdk:1.0.7'
}

    Коментарі

    Only authorized users can post comments.
    Please, Log in or Sign up
    Ua

    Qt - Тест 001. Сигналы и слоты

    • Результат:84бали,
    • Рейтинг балів4
    Ua

    Qt - Тест 001. Сигналы и слоты

    • Результат:42бали,
    • Рейтинг балів-8
    ОК

    Qt - Тест 001. Сигналы и слоты

    • Результат:47бали,
    • Рейтинг балів-6
    Останні коментарі
    ИМ
    Игорь Максимов22 листопада 2024 р. 11:51
    Django - Підручник 017. Налаштуйте сторінку входу до Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
    Evgenii Legotckoi
    Evgenii Legotckoi31 жовтня 2024 р. 14:37
    Django - Урок 064. Як написати розширення для Python Markdown Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
    A
    ALO1ZE19 жовтня 2024 р. 08:19
    Читалка файлів fb3 на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
    ИМ
    Игорь Максимов05 жовтня 2024 р. 07:51
    Django - Урок 064. Як написати розширення для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
    d
    dblas505 липня 2024 р. 11:02
    QML - Урок 016. База даних SQLite та робота з нею в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
    Тепер обговоріть на форумі
    Дмитрий
    Дмитрий03 лютого 2025 р. 06:24
    Создание deb-пакета. Как создать ярлык на рабочем столе после установки собственного deb-пакета? Всем привет. Сделал свой deb-пакет с программой. Всё устанавливается и работает. Ставлю по пути /usr/bin/my_application. Как для пользователя при установке пакета сразу создать ярлык на раб…
    NW
    Nayo Wai30 січня 2025 р. 09:22
    не запускается компьютер!!! Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
    n
    nkly03 січня 2025 р. 02:52
    Нужно запретить перемещение только некоторых итемов, остальные перемещать можно. Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
    M
    Marsel16 серпня 2023 р. 14:26
    OAuth2.0 через VK, получение email Спасибо большое за помощь и простите за то что отнял время своей невнимательностью.
    Evgenii Legotckoi
    Evgenii Legotckoi24 червня 2024 р. 15:11
    добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.

    Слідкуйте за нами в соціальних мережах