VK-BOT PHP, не получается выводить кнопки из функции

Сразу пишу, я новичок. Что бы создать кнопку для VK бота на php, нужно примерно вот такой код:

$kdb = [
    "one_time" => false,
        "buttons" => [
              [
                  [
                      "action" => [
                          "type" => "text",
                          "payload" => "{\"button\": \"1\"}",
                          "label" => "Начать"
                      ],
                      "color" => "positive"
                  ],
              ],
            ]
];

введите сюда описание изображения

Я думаю что таким образом кнопки делать не так удобно и занимают они много места.

Что я хочу сделать?

Хочу сделать так что бы одной функцией можно было делать кнопки без написание большого кода. Просто создавать кнопки с помощью вызова одной функции и для каждой кнопки различные параметры. Будь это цвет, значение и так далее.

Вот что делаю я:

const COLOR_POSITIVE = 'positive';
const COLOR_NEGATIVE = 'negative';
const COLOR_SECONDARY = 'secondary';
const COLOR_PRIMARY = 'primary';

function getBtn($label, $color, $payload = '')
return [
    "action" => [
        "type" => "text",
        "payload" => json_encode($payload, JSON_UNESCAPE_UNICODE);
        "label" => $label
    ],
    "color" => $color
];

}

Вывод кнопок.

$kdb = [
       "one_time" => false,
       "buttons" => [
           [
               getBtn("Обычная", COLOR_SECONDARY);
               getBtn("OK", COLOR_POSITIVE);
               getBtn("Отмена", COLOR_NEGATIVE);
               getBtn("Еще", COLOR_PRIMARY);
            ],
        ]
];

После этого, не чего не выводит. Думаю тот кто разбирается в API vk, будет понятнее то что написано выше. Возможно я где-то допустил ошибку, но не могу ее найти. Возможно не правильно вообще все реализую. Прошу мне помочь, если что-то не понятно, то могу дополнить. Буду благодарен если поможете.


Ответы (1 шт):

Автор решения: markeze

Попробуй вот так.

Ты создаешь 4 кнопки в ряд и из-за этого он видимо и не работает, ну и плюс синтаксическая ошибка была

$kbd = [
        'one_time' => false,
        'buttons' => [
            [getBtn("Позитивная", 'positive', 'Позитивная')],
            [getBtn("Негативная", 'negative', 'Негативная')],
        ]
    ];
→ Ссылка