vk-java-sdk icon indicating copy to clipboard operation
vk-java-sdk copied to clipboard

Поддержка клавиатур для ботов

Open Plasticable opened this issue 7 years ago • 8 comments

В библиотеке планируется поддержка клавиатур для ботов?

Plasticable avatar Jun 15 '18 07:06 Plasticable

Судя по всему, проект не поддерживают. Если не хотите пользоваться другими форками, где добавили поддержку клавиатур, то можете передавать их самостоятельно используя unsafeParam для сообщений.

Например:

String keyboard = "{\n" +
        "  \"one_time\": false,\n" +
        "  \"buttons\": [\n" +
        "    [\n" +
        "      {\n" +
        "        \"action\": {\n" +
        "          \"type\": \"text\",\n" +
        "          \"payload\": \"{\\\"button\\\": \\\"1\\\"}\",\n" +
        "          \"label\": \"Red\"\n" +
        "        },\n" +
        "        \"color\": \"negative\"\n" +
        "      },\n" +
        "      {\n" +
        "        \"action\": {\n" +
        "          \"type\": \"text\",\n" +
        "          \"payload\": \"{\\\"button\\\": \\\"2\\\"}\",\n" +
        "          \"label\": \"Green\"\n" +
        "        },\n" +
        "        \"color\": \"positive\"\n" +
        "      }\n" +
        "    ]\n" +
        "  ]\n" +
        "} ";

vkApi.messages()
        .send(vkGroup, userId)
        .message("Есть клавиатура!")
        .unsafeParam("keyboard", keyboard)
        .execute();

rozhok avatar Mar 06 '19 22:03 rozhok

@rozhok, если с передачей клавиатуры всё просто, то с получением payload'а из ответа уже появляются проблемы.

xISRAPILx avatar Mar 08 '19 08:03 xISRAPILx

Да, payload не приходит, но дело ведь не в SDK, так как это обычный HTTP запрос на вебхук бота. А при лонг-полле payload тоже не приходит?

upd: Проблема у меня была в старой версии API.

rozhok avatar Mar 08 '19 12:03 rozhok

@xISRAPILx чтобы получить payload нужно поднять версию API до 5.69 или выше (https://vk.com/dev/bots_docs_3). Проверил — работает (что логично :) )

rozhok avatar Mar 08 '19 13:03 rozhok

@xISRAPILx чтобы получить payload нужно поднять версию API до 5.69 или выше (https://vk.com/dev/bots_docs_3). Проверил — работает (что логично :) )

Все таки не подскажите, как получить payload?

Pushkin23 avatar Mar 10 '19 15:03 Pushkin23

В смысле - как? Как только вы подымете версию апи в настройках, на ваш вебхук начнут приходить запросы с payload.

rozhok avatar Mar 10 '19 15:03 rozhok

Отправил клавиатуру вот так: https://github.com/VKCOM/vk-java-sdk/issues/116#issuecomment-470300090. Выдало ошибку This is a chat bot feature, change this status in settings. Использую Long Poll Api. Что делать?

minecraft8997 avatar May 10 '19 16:05 minecraft8997

@minecraft8997 в настройках сообщества, в сообщениях: image image

rozhok avatar May 10 '19 23:05 rozhok