Callback кнопка VK через VK.Net

Рейтинг: 0Ответов: 1Опубликовано: 16.03.2023

Может кто использует VK.net для работы с Api VK?

Объясните в чем суть проблемы моей Callback кнопки?

var button = new MessageKeyboardButtonAction
        {
                Type = KeyboardButtonActionType.Callback,
                Label = "Нажмите",
                Payload = "{\"button\": \"2\"}",
                
        };

        var keyboard = new KeyboardBuilder().AddButton(button,KeyboardButtonColor.Primary).Build();
        services.AddSingleton(keyboard);

В контроллере отправляю клавиатуру с кнопкой:

private void SendMessageToUser(long? fromId, string message)
    {
        Random random = new Random();
        int randomId = random.Next(0, 1000);

        MessagesSendParams sendParams = new()
        {
            RandomId = randomId,
            PeerId = fromId,
            Message = message,
            Keyboard = _keyboard
        };

        _vkApi.Messages.Send(sendParams);

Если создам Type = KeyboardButtonActionType.Text, `, то ВК отправляет мне запрос в том числе с полем Payload.

Если KeyboardButtonActionType.Callback, индикатор на кнопке бесконечно крутится. Вк не отправляет мне никакого запроса при этом.

Я ожидал получить запрос c типом message_event, и payload внутри, что бы вернуть ответ. Разве не так это должно работать? Помогите разобраться. Спасибо.

Документация API VK о работе с кнопками

Документация VKNET где добавили Callback кнопки и метод работы с ними

SendMessageEventAnswer что-то я не понимаю как с этим методом работать. Где я должен взять Event_ID , если мне его должен прислать VK API при нажатии на кнопку, но он мне ничего не присылает

Моя задача при нажатии на кнопку пользователем сменить режим бота на Аудиосообщения. Я хочу получить запрос и изменить режим ответа бота. Желательно показав show_snackbar

Ответы

▲ 1Принят

Что бы получить событие типа message_event нужно в настройках разрешить запросы типа "Действие с сообщением"