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/45186164/

相关文章:

c# - 可以在 C# 中的委托(delegate)上传递 System.Net.Mail.MailMessage 对象吗?

c# - 在 IIS 上验证 WCF 服务时,仅第一次调用 AuthenticateRequest

html - 灯箱显示 2 张图像,缩略图问题?

Azure 通知中心 : Why is NotificationOutcome NotificationId Property Empty?

c# - 将 Storyboard 放在应用程序资源中

c# - 如何将 session 变量与 C# 中的字符串进行比较?

html - 设置列之间的边距

html - 如何将 1 到 5 张图像放在另一张图像之上?

虚拟目录中 Azure WebApp 上的 WordPress - 非应用程序

java - 检查数据库数据