如何在电报机器人中传递键盘动态?

时间:2019-12-23 18:36:03

标签: php bots telegram

嗨,我无法为电报机器人创建动态键盘 我想用下图中的键盘创建自己的铃声 enter image description here

我找到了C#代码,但是无法将其转换为PHP代码:

for (var Index = 1; Index < 17; Index++)
{
    cols.Add(new KeyboardButton("" + Index));
    if (Index%4 != 0) continue;
    rows.Add(cols.ToArray());
    cols = new List<KeyboardButton>();
}
rkm.Keyboard = rows.ToArray();

重要提示

我有40个数字,我想将40个按钮连续分配给4个按钮

$reply_markup = array('keyboard' => array(array('1','2','3','4'),  array('5','6','7','8'),....), 'resize_keyboard' => true);

但是无论我做什么,我都做不到 谢谢您的帮助

1 个答案:

答案 0 :(得分:0)

php中,您必须使用两个这样的循环:

$rows = 10;
$columns = 4;
$keyboard = [];
for($i = 1;$i<=$rows;$i++){ // loop for create rows.
    $rowKeys = []; // reset row keys
    for($j = 1;$j<=$columns;$j++){ // loop for create columns.
        $rowKeys[] = ['text'=>$i*$j, 'callback_data'=>'key-'.($i*$j)]; // create button with callback data
    }
    $keyboard[] = $rowKeys;
}

$reply_markup = $keyboard;