c# - 使用 Microsoft Bot Framework 时如何使用 CSS 设置聊天窗口的样式

标签 c# css azure bots botframework

我通过使用 Microsoft Q&A maker 并部署到 azure 创建了一个简单的聊天机器人。开箱即用,机器人有自己的默认样式。

我希望能够编辑聊天窗口的外观和风格,可能使用 CSS。我在这里发现了几个问题,但它们没有给出我正在寻找的完整答案。我做了一些研究并在这些 URL 上找到了信息:

https://github.com/Microsoft/BotFramework-WebChat https://github.com/Microsoft/BotBuilder/issues/202

上面的第一个链接在“样式”标题下给出了此解释:

“在 /src/scss/ 文件夹中,您将找到用于生成 /botchat.css 的源文件。运行 npm run build-css 进行编译一次”已做出更改。对于基本品牌,请更改 colors.scss 以匹配您的配色方案。对于高级样式,请更改 botchat.scss 。”

我不完全理解这些文件是如何连接到我的元素的。我也不知道如何实现上述技术。我找不到更改聊天窗口样式所需的一组特定步骤。希望有人可以详细解释我如何使用上述技术(或他们已经知道的技术)来改变我的机器人风格。

如果有人知道设置 Microsoft Bot 聊天窗口样式的最直接方法,或者可以为我指明正确的方向,那就太好了!

最佳答案

现在运行得怎么样?

我不完全理解这些文件是如何连接到我的元素的:假设您使用的是iframe实现,这意味着您正在使用的编译版本您找到的源代码。

如果您查看 iframe 内容(对 URL 执行 GET),它看起来如下所示:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>MyBotId</title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
        <style>
        html, body {
            height: 100%;
            margin: 0;
            padding: 0;
            overflow: hidden;
        }
    </style>
        <link href="/css/adaptive/botchat.css" rel="stylesheet" />
        <link href="/css/adaptive/botchat-fullwindow.css" rel="stylesheet" />
    </head>
    <body>
        <div id="BotChatElement"></div>
        <script src="/scripts/adaptive/botchat.js"></script>
        <script>
            var model = {
                 "userId": "demo1234",
                 "userName": "You",
                 "botId": "MyBotId",
                 "botIconUrl": "//bot-framework.azureedge.net/bot-icons-v1/bot-framework-default-8.png",
                 "botName": "MyBotId",
                 "secret": "mySecret",
                 "iconUrl": "//bot-framework.azureedge.net/bot-icons-v1/bot-framework-default-8.png",
                 "directLineUrl": "https://webchat.botframework.com/v3/directline",
                 "webSocketEnabled": "false"
            };
        </script>
        <script>
        BotChat.App({
            directLine: {
                secret: model.secret,
                token: model.token,
                domain: model.directLineUrl,
                webSocket: false
            },
            user: { id: model.userId, name: model.userName },
            bot: { id: model.botId, name: model.botName },
            resize: 'window'
        }, document.getElementById("BotChatElement"));

    </script>
    </body>
</html>

如您所见,它引用了一个 css 文件,即由 GitHub 元素编译的文件。

<小时/>

如何添加自定义 CSS?

在您这边,您可以编辑此 css,编辑它,并使用与上面相同的实现,但将 css 链接替换为您的。

关于c# - 使用 Microsoft Bot Framework 时如何使用 CSS 设置聊天窗口的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46430092/

相关文章:

c# - 定义类的属性

html - Chrome 破坏了打印表格上的垂直对齐

javascript - 使用 jquery append() 将附加内容放在附加背景之外

azure - 为什么在调用其中包含 azure commandlet 的脚本时未出现 write-host 语句?

c# - Azure Application Insights 自定义响应指标

c# - Azure 函数有时不会将行插入 SQL Server

c# - LINQ 表达式语法如何与 Include() 配合使用以进行预加载

c# - 对多次编码的字符串进行 HTML/Url 解码

c# - DataGridView CheckBox 行返回 null,直到单击复选框

HTML 合并单元格