电报漫游器:按钮文字不可读

时间:2018-12-12 12:55:10

标签: node.js bots telegram

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

下面是聊天室的屏幕截图: enter image description here

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

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

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

那么有什么方法可以迫使电报机器人显示按钮的完整文本?

1 个答案:

答案 0 :(得分:0)

Telegram Bot API将一组按钮数组作为cdef mysocket = socket cdef conn = socket cdef addr = () cdef mouse = Controller() cdef int payload_size = struct.calcsize(">L") cdef bytes data = b"" ... 字段的值。每个数组代表嵌入式键盘中的一行按钮。

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

例如:

inline_keyboard

这将导致三行,每行上都有一个按钮。我相信文字不会被截断。

干杯!