You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PowerShell开发的Telegram Bot中设置多行Inline Keyboard按钮

解决Telegram Bot多行Inline Keyboard配置问题

Telegram的inline_keyboard要求是二维数组结构:外层数组的每个子数组对应一行按钮,子数组里的元素就是该行的各个按钮。你的原代码把三个按钮都放在同一个子数组里,所以它们会显示在同一行。

修改后的代码如下:

$buttonsubcheck = @{ "text" = "Check status"; callback_data = "substatus" }
$buttonsubtrial = @{ "text" = "Request trial"; callback_data = "subtrial" }
$buttonsubback = @{ "text" = "Back"; callback_data = "back" }

# 将前两个按钮作为第一行,Back单独作为第二行
$buttonRows = @(
    @($buttonsubcheck, $buttonsubtrial),  # 第一行的按钮数组
    @($buttonsubback)                     # 第二行的按钮数组
)

$buttonsubscription = @{ "inline_keyboard" = $buttonRows } | ConvertTo-Json -Depth 5

关键修改点:

  • 把按钮按行分组为独立的子数组:@($buttonsubcheck, $buttonsubtrial) 对应第一行,@($buttonsubback) 对应第二行
  • 外层的$buttonRows数组包含这两个子数组,直接赋值给inline_keyboard字段

这样生成的JSON结构会符合Telegram API要求,按钮就会按你需要的两行显示了。

内容的提问来源于stack exchange,提问作者trlhrn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 13:30:47