【问题标题】:Telegram bot : Button text is not readable电报机器人:按钮文本不可读
【发布时间】:2019-05-13 14:06:00
【问题描述】:

我开发了响应用户输入的电报机器人。但是当机器人向用户发送按钮时,按钮的文本不可读。

下面是聊天截图:

我认为当按钮数量更多或按钮文本长度更多时,电报不会调整按钮大小。

我正在使用以下代码发送按钮:

buttonoptions.forEach(buttonElement => {

    var buttonText = buttonElement;
    if (buttonText.length > 30) {
        buttonText = buttonText.substring(0, 27);
        buttonText = buttonText + "...";
    }

    var buttonItem = {
        text: buttonText,
        callback_data: JSON.stringify({
            'type': 'button',
            'text': buttonText
        })
    }

    buttons.push(buttonItem);
});

var message = {
    parse_mode: 'Markdown',
    reply_markup: JSON.stringify({
        inline_keyboard: [buttons]
    })
};

//send message code

那么有没有办法强制电报机器人显示按钮的完整文本?

【问题讨论】:

    标签: node.js bots telegram


    【解决方案1】:

    Telegram Bot API 将 按钮数组数组 作为 inline_keyboard 字段的值。每个数组代表内联键盘中的一行按钮。

    因此,您在同一行上有许多按钮,文本看起来被截断了。为避免这种情况,您可以将按钮放置在多行上。

    例如:

    const options = {
      reply_markup: JSON.stringify({
          inline_keyboard: [
              [{ text: 'Button 1', callback_data: '1' }],
              [{ text: 'Button 2', callback_data: 'data 2' }],
              [{ text: 'Button 3', callback_data: 'text 3' }]
          ]
       })
    };
    

    这会产生三行,每行都有一个按钮。我相信文本不会被截断。

    干杯!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-04
      • 2019-03-27
      • 1970-01-01
      • 2017-12-17
      • 2017-08-18
      • 1970-01-01
      • 2022-10-19
      • 2018-03-28
      相关资源
      最近更新 更多