扩展按钮以显示长消息

时间:2018-01-31 21:25:42

标签: node.js botframework

前言

我目前正在使用Node.js编写Microsoft的Botbuilder SDK。

问题

如果提示用户从一组可点击按钮的选项中进行选择,则按钮的文本会被附加的省略号剪切掉。以下是使用Microsoft的Bot框架模拟器的示例:

Screenshot of Button Prompt with Long Text

以下是代码:

bot.dialog('mainMenu', [
    (session, args, next) => {
        // buttonOptions is an array of size 4 all with the
        //     string 'VERY LONG TEXT THAT GETS CUT OFF'
        builder.Prompts.choice(session, 'What would you like to do?'
        , buttonOptions, { listStyle: builder.ListStyle.button });
    }
]);

期望的结果

我想显示按钮的整个文字。我知道listStyle:list存在,显示整个文本,但我正在寻找一个允许按钮使用的解决方案。

问题

有没有办法扩展按钮以显示这些类型的提示中的长文本的整个长度?我们欢迎不限于此listStyle的替代视角。

2 个答案:

答案 0 :(得分:2)

显示选项的方式由每个频道实现,因此您可以专注于目标频道。

某些渠道实施(通常是模拟器和网络聊天)是开源的,您可以创建自己的分叉来构建所需的行为。

仿真器

Bot Framework的模拟器源位于GitHub

Web聊天

我已经回复了一个关于自定义网络聊天以显示按钮所有文本的类似问题。为避免重复,请直接在此处查看:Using botbuilder SDK's Prompt.choice(), is it possible to have a custom tooltip which displays long choice-text?

它允许渲染按钮多行:

https://i.stack.imgur.com/sMT4d.png

答案 1 :(得分:0)

您可以添加到文本“ \ n”。所以按钮看起来像这样 Example

为了获得更好的结果,我确定了最大值并除以字符串长度。我用这个数字进行了拆分。搜索完最后一个空格后,放入“ \ n”。