标签: web-chat

滚动到 botframework 网络聊天中的气泡顶部

我们的聊天机器人的一些答案很长。网络聊天会自动滚动到底部,因此用户必须向上滚动才能到达气泡顶部并开始阅读。

我已经实现了一个自定义渲染器 (react) 来将答案包装到一个自定义组件中,该组件只是将答案包装到一个 div 标签中。我还实现了一段简单的代码来滚动到气泡的顶部。

const MyCustomActivityContainer = ({ children }) => {
    const triggerScrollTo = () => {
        if (scrollRef && scrollRef.current) {
            (scrollRef.current as any).scrollIntoView({
                behavior: 'smooth',
                block: 'start',
            })
        }
    }

    const scrollRef: React.RefObject<HTMLDivElement> = React.createRef()

    return (
        <div ref={ scrollRef } onClick={ triggerScrollTo }>
            { children }
        </div>
    )
}

export const activityMiddleware = () => next => card => {
    if (/* some conditions */) {
        return (
            <MyCustomActivityContainer>
                { next(card) }
            </MyCustomActivityContainer>
        ); …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs web-chat botframework

7
推荐指数
1
解决办法
671
查看次数

将我的聊天机器人插入网站

我有一个问题问你,

我已经在python中构建了一个bot,我需要知道是否有办法(或使用REST API的服务)将其嵌入到网站中.我不想使用slack/telegram/facebook messanger和其他人作为通信渠道.我想在网站上使用聊天环境,但我真的不想自己编写,我曾试图要求LiveChat,Chatlio和Tawk等服务,但支持说没有API.我正在考虑建立自己的聊天,但这需要花费大量时间.添加功能是非常好的,如果机器人无法回答问题,人工代理可以回答它.

从哪里可以开始?有什么建议?非常感谢你.

python chatbot web-chat

5
推荐指数
1
解决办法
2232
查看次数

如何在 QnA-maker 中添加 URL 链接?

有谁知道如何在 QnA maker 中为答案添加 URL 链接?

就目前而言,我只能看到您可以添加直接文本。

web-chat azure-qna-maker

5
推荐指数
1
解决办法
5291
查看次数

Microsoft Bot Framework WebChat:禁用 AdaptiveCards 提交上一条消息的按钮

如何在上一个 BotChat 对话中禁用输入/提交按钮操作 - Microsoft Bot Framework (C#) 中的 AdaptiveCards

c# button web-chat botframework adaptive-cards

5
推荐指数
1
解决办法
3357
查看次数

BotFramework V4:如何从机器人发送事件并在 React WebChat 中捕获它?

我从我的机器人(.NET SDK)发送一个名为“locationRequest”的事件

            Activity activity = new Activity
            {
                Type = ActivityTypes.Event,
                Name = "locationRequest"
            };
            await stepContext.Context.SendActivityAsync(activity, cancellationToken);
Run Code Online (Sandbox Code Playgroud)

我想根据 React 中编码的 minizable-web-chat 在 WebChat 客户端应用程序中捕获此事件,并将布尔 locationRequested 设置为 True:

const store = createStore({}, ({ dispatch }) => next => action => {
  if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') {
    dispatch({
      type: 'WEB_CHAT/SEND_EVENT',
      payload: {
        name: 'webchat/join',
      }
    });
  }
  else if(action.name == 'locationRequest'){
    this.setState(() => ({
      locationRequested: true
    }));
  }
  return next(action);
});
Run Code Online (Sandbox Code Playgroud)

我无法赶上这个事件,有什么想法吗?

c# web-chat react-native botframework

5
推荐指数
1
解决办法
997
查看次数

Microsoft Bot Framework自适应卡无法正确呈现

我正在尝试使用自适应卡,将其添加到我的路易斯响应中,并遵循指南:https://docs.microsoft.com/en-us/bot-framework/dotnet/bot-builder-dotnet-add-富卡附件.

为什么我的按钮没有显示在我的机器人模拟器上?我错过了什么吗?看图: 在此输入图像描述

我的代码:

 [LuisIntent("Test")]
    public async Task Test(IDialogContext context, LuisResult result)
    {

        Activity replyToConversation = (Activity)context.MakeMessage();
        //Activity replyToConversation = message.CreateReply("Should go to conversation");
        replyToConversation.Attachments = new List<Attachment>();
        AdaptiveCard card = new AdaptiveCard();

       // Add text to the card.
        card.Body.Add(new TextBlock()
        {
            Text = "Adaptive Card design session",
            Size = TextSize.Large,
            Weight = TextWeight.Bolder
        });

        // Add text to the card.
        card.Body.Add(new TextBlock()
        {
            Text = "Conf Room 112/3377 (10)"
        });

        // Add text to the card. …
Run Code Online (Sandbox Code Playgroud)

c# web-chat botframework adaptive-cards

4
推荐指数
1
解决办法
1141
查看次数

BotFramework Webchat v4 通过 javascript 发回消息

我需要帮助使用来自 Microsoft 的 BotFramework 的 webchat v4 通过 Javascript 将消息发送回机器人。

我的机器人代码是用 C# (.NET Framework) 编写的,但在我的场景中的某个时刻,我需要触发一些 JavaScript 来向用户询问位置。我该怎么办?

  1. 我发送事件类型的活动
  2. 在机器人的商店中,我捕获了上述活动(这是我的代码):
const store = window.WebChat.createStore({},
    ({ dispatch }) => next => action => {
        //console.log('action of type ' + action.type);

        if (action.type === 'DIRECT_LINE/INCOMING_ACTIVITY') {
            var activityOut = action.payload.activity;

            if (activityOut.type === 'message') {
                // Store message

                return next(action);
            }

            if (activityOut.type === 'event') {
                // Handle based on event type
                if (activityOut.name === 'getLocation') {
                    if (navigator.geolocation)
                    {
                        navigator.geolocation.getCurrentPosition(showPosition); …
Run Code Online (Sandbox Code Playgroud)

javascript web-chat botframework

4
推荐指数
1
解决办法
1741
查看次数

浏览器聊天没有互联网

任何人都可以向我解释创建网络聊天的可能性(即类似于whatsappweb),它可以在没有互联网连接的情况下工作,这些设备通过WiFi或蓝牙(即点对点)进行通信的唯一可能方式.如果地球上不可能那么可以解释为什么?

我遇到过像peer.js这样的javascript文件.但我认为它使用互联网.我希望它没有互联网连接.

提前致谢.

javascript p2p web-chat

3
推荐指数
1
解决办法
1339
查看次数

如何在 Angular5 应用程序中使用 Microsoft Bot Framework 网络聊天

我需要一种在我的 angular 5 应用程序中嵌入网络聊天的方法。我已经尝试过这里描述的非反应网站方式:https : //github.com/Microsoft/BotFramework-WebChat 并且它有效。

有没有办法只使用组件而不是加载整个 js 文件来获取我的 Angualar 5 应用程序中的聊天窗口?

web-chat botframework angular

2
推荐指数
1
解决办法
4709
查看次数

BotFramework-WebChat - 自适应卡片

有没有办法将 Onchange 事件添加到在网络聊天(版本 V4)中呈现的自适应卡片输入字段。在结帐屏幕中更改数量值(类型为数字的自适应卡片输入字段)的示例应更新总值(自适应卡片文本字段)

为了简单起见......在下图中,一旦我更改了输入框中的数字,它应该在下面的文本框中更新。一切都应该发生在网络聊天 V4(React) 客户端

自适应卡

以下是我尝试过的选项,这里没有任何代码可以提交:

选项 1:尝试使用中间件将事件添加到来自机器人的卡片中的数量输入字段,但无法找到唯一标识输入字段以添加事件的选项(可以根据项目中的项目数量看到多个输入字段卡片)

选项 2:根据来自 bot 的卡片在前端创建一张新卡片,并将事件添加到该新卡片。是否可以中断发送到机器人的消息并从前端发送卡片?

选项3:在卡片上添加更新按钮,以便在后台计算总数并提交更新卡片给用户

下面是有效载荷:

{
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "version": "1.0",
    "type": "AdaptiveCard",
    "body": [
        {
            "type": "TextBlock",
            "text": "Output",
            "weight": "Bolder",
            "horizontalAlignment": "Center",
            "size": "Large",
            "id": "output",
            "color": "Good"
        },
        {
            "type": "Container",
            "items": [
                {
                    "$data": "{items}",
                    "type": "Container",
                    "items": [
                        {
                            "type": "TextBlock",
                            "text": " ",
                            "id": "line",
                            "spacing": "None"
                        },
                        {
                            "type": "Image",
                            "altText": "",
                            "id": "myimage",
                            "url": "{imgUrl}",
                            "spacing": "None",
                            "size": "Stretch",
                            "width": "1000px",
                            "height": …
Run Code Online (Sandbox Code Playgroud)

json reactjs web-chat botframework adaptive-cards

2
推荐指数
1
解决办法
1783
查看次数

Microsoft Bot Framework项目将聊天机器人添加到我的网站.我无法使用Web Chat客户端.我还可以使用其他什么方法?

我正在开发一个Microsoft Bot Framework项目,以便将聊天机器人添加到我的网站.我需要将数据从聊天UI连续传递到Bot以获取用户详细信息和当前页面详细信息.因此我无法使用Web Chat客户端.

除了创建自己的聊天界面外,我还可以使用哪些其他方法?

asp.net-mvc bots web-chat botframework

1
推荐指数
1
解决办法
2411
查看次数

未捕获的类型错误:无法读取未定义的属性“renderWebChat”

我正在创建一个嵌入 iframe 源中的网络聊天。我想要的是更改该 iframe 中每个聊天消息(称为聊天气泡)的背景颜色。

这是我的代码:

<div id="webchat" role="main">
        <iframe src='https://webchat.botframework.com/embed/...?s=SECRET_KEY_HERE'
        style='min-width: 400px; width: 100%; min-height: 500px;'></iframe>
</div>

<script type="text/javascript">

const styleOptions = {
    bubbleBackground: 'rgba(0, 0, 255, .1)',
    bubbleFromUserBackground: '#ddd'
};

window.WebChat.renderWebChat({
    directLine: window.WebChat.createDirectLine({ secret: 'MY_SECRET_KEY_HERE' }),
    // Passing "styleOptions" when rendering Web Chat
    styleOptions
}, document.getElementById('webchat'));
</script>
Run Code Online (Sandbox Code Playgroud)

问题:

我能够看到 Iframe,并且使用专用的密钥我能够聊天;但是,我无法看到应用于聊天气泡和页面加载的样式,我收到此错误:

未捕获的类型错误:无法读取未定义的属性“renderWebChat”

这是什么原因呢?

web-chat botframework

1
推荐指数
1
解决办法
831
查看次数

botFramework:在bot框架下禁用Web聊天中的卡按钮

我想在bot框架下禁用网络聊天中的卡片按钮.例如,在一张卡片我有多个按钮,我想根据一些数据值禁用一些按钮.我怎样才能做到这一点?

c# bots web-chat botframework

-2
推荐指数
1
解决办法
1408
查看次数