首页 > 解决方案 > 如何在电报机器人中传递键盘的动态按钮值?

问题描述

我有一个问题,我正在我的项目中实现电报机器人,我想知道如何在电报机器人中传递动态键盘的按钮值而不是静态值。我有一个按钮数组。

$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()方法中传递。

标签: phplaraveltelegramtelegram-bot

解决方案


$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);

推荐阅读