Как передать значение динамической кнопки клавиатуры в боте telegram?

У меня проблема, я внедряю бота telegram в свой проект, я хочу знать, как передать значение кнопки динамической клавиатуры в боте telegram вместо статического значения. У меня есть массив кнопок.

$buttons    = array('button 1', 'button 2', 'button 3', .....);

$keyboard   = Keyboard::make()
                    ->inline()
                    ->row(
                             Keyboard::inlineButton(['text' => 'Button 1', 'callback_data' => 'callback_data1']),
                             Keyboard::inlineButton(['text' => 'Button 2', 'callback_data' => 'callback_data2'])
                         );

Как сделать динамику ниже линии.

Keyboard::inlineButton(['text' => 'Button 1', 'callback_data' => 'callback_data1']);

которые проходят в методе row().

1 ответ

Решение
$buttons    = array('button 1', 'button 2', 'button 3', .....);

$buttons = array_map(function($name) {
    // this line needs to be modified, but the concept should be clear
    return Keyboard::inlineButton(['text' => $name, 'callback_data' => 'callback_data1']);
}, $buttons);

$inline   = Keyboard::make()->inline();

$keyboard = call_user_func_array([$inline, 'row'], $buttons);
Другие вопросы по тегам