Как передать значение динамической кнопки клавиатуры в боте 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);