标签: botframework

当用户向我的机器人发送消息时,他会收到欢迎消息.但是当用户响应时,bot再次发送欢迎消息.我怎样才能解决这个问题?

我正在使用Microsoft Bot Framework开发一个聊天机器人,我最近将框架3.0升级到3.5.升级之前它工作正常,但现在

当用户向我的机器人发送消息时,他会收到欢迎消息.但是当用户响应时,bot再次发送欢迎消息.我怎样才能解决这个问题?这是代码.

private Activity HandleSystemMessage(Activity message)
        {
            if (message.Type == ActivityTypes.DeleteUserData)
            {
                // Implement user deletion here
                // If we handle user deletion, return a real message
            }
            else if (message.Type == ActivityTypes.ContactRelationUpdate)
            {
                // Handle conversation state changes, like members being added and removed
                // Use Activity.MembersAdded and Activity.MembersRemoved and Activity.Action for info
                // Not available in all channels               
            }
            else if (message.Type == ActivityTypes.ConversationUpdate)
            {
                // Handle conversation state changes, like members being added and removed …
Run Code Online (Sandbox Code Playgroud)

c# botframework

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

捕获通道中成员之间的所有消息

目标是保存一个频道成员(例如MS团队)之间的所有对话,然后将其发送到另一个频道.

是否可以通过sideloaded bot或其他东西捕获通道成员之间的所有消息?

我使用了文档中的代码:

const logUserConversation = (event) => {
    console.log('message: ' + event.text + ', user: ' + event.address.user.name);
};

// Middleware for logging
bot.use({
    receive: function (event, next) {
        logUserConversation(event);
        next();
    },
    send: function (event, next) {
        logUserConversation(event);
        next();
    }
});
Run Code Online (Sandbox Code Playgroud)

但它只有在你直接@mentioning机器人时触发,如果在渠道成员之间进行对话,则不会采取任何行动.我怀疑它可能是僵尸框架的安全策略,根本不可能......

有什么想法吗?

更新:好的,支持成员告诉我,这样做的能力在路线图上,稍后将使用Graph API提供.

botframework microsoft-teams

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

直线API-Bot框架

“您可以使用Direct Line API启用机器人与您自己的客户端应用程序之间的通信。”
根据我的观察,Bot(使用botframework创建)本身就是一个端点。为什么我们不能直接使用Bot的API与机器人进行通信?为什么我们需要直线?

botframework direct-line-botframework

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

Microsoft Bot Framework:LUIS层次结构与列表实体

我按照Microsoft教程的说明创建了一个三明治订单机器人.我的目标是让这个僵尸程序应用程序进行交互,因此我将使用语言理解(LUIS)服务API来实现此目的.

在三明治聊天中,用户可以选择他们想要添加的内容,例如.salad,sauce等等.

我不确定我是否应该使用LUIS层次结构或列表实体.

以下是我对LUIS实体的看法:

  • 复合实体
    • 三明治
  • 分层实体
    • 沙拉:生菜,橄榄
    • 酱:梅奥,番茄酱
    • 奶酪:蓝色,切达干酪

以下是我对列表实体的看法:

  • 列出实体
    • 沙拉:生菜,番茄,橄榄
    • 酱:梅奥,番茄酱
    • 奶酪:切达干酪,蓝色

我不知道如何创建的关系sandwichsandwich fillings.此外,如果它应该是列表或分层.

谢谢你的时间,欣赏它!

bots botframework azure-language-understanding

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

如何通过Twilio WhatsApp API将英雄卡从机器人框架发送到WhatsApp

我目前正在使用Twilio WhatsApp API和Bot Framework Direct Line通道尝试将我的聊天机器人集成到WhatsApp。

由于我的聊天机器人对话是有指导的,因此会使用很多PromptDialog.Choices消息(这是英雄卡片)。有没有一种方法可以使用Twilio WhatsApp API将这些消息以其预期的形式(即带有单击按钮的含义)发送给Whatsapp?

twilio whatsapp botframework twilio-api

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

如何在Facebook Messenger上使用MS Bot Framework创建快速回复?

我已经有相当一段时间使用了Node.js和MS Bot Framework(3.0)来满足我的机器人开发需求。

我的需求之一是要求用户与机器人共享其电子邮件地址。
Facebook 为此提供了一个快速答复 API。

我很难理解如何使用该框架通过快速回复选项创建自定义消息。

我的第一个尝试是使用自定义渠道数据将本机元数据传递到渠道,
我已经成功实现了Messenger平台支持的各种模板,但是与按钮,列表和其他模板相比,快速答复是种其他野兽。目前,我努力使用框架提供的工具来创建快速回复消息

请指出正确的方向。

facebook node.js facebook-messenger botframework

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

MS 团队机器人 - 创建新对话

我正在使用 botbuilder-python 来构建 MS Teams 机器人。以下示例我能够回复消息。我正在努力创建全新的消息,而没有从 Teams 传递的现有活动。我修改了测试中的一些代码(https://github.com/Microsoft/botbuilder-python/blob/62b0512a4dd918fa0d3837207012b31213aaedcc/libraries/botframework-connector/tests/test_conversations.py)但我得到:

botbuilder.schema.error_response_py3.ErrorResponseException: (BadSyntax) 无法解析租户 ID

它是什么,我在哪里可以找到它(我可以从请求中取出它,但它并不理想)以及如何传递它?任何人都可以向我指出创建新对话的任何 Python 示例吗?

python botframework microsoft-teams

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

如何从返回 RecognizerResult 的 luis.ai RecognizerAsync 方法访问实体得分信息和/或存在

通过 azure 构建的示例机器人基于此文档

https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-howto-v4-luis?view=azure-bot-service-4.0&tabs=csharp

我正在尝试重构对话框的部分功能,我需要访问我认为应该从 luis 调用返回的部分 json。但是,当我尝试从 $instance 访问时,出现错误,提示我无法访问响应的子元素。

这是json的一个例子:

+       Entities    {{
  "$instance": {
    "To": [
      {
        "startIndex": 10,
        "endIndex": 15,
        "text": "paris",
        "type": "To",
        "score": 0.987954
      }
    ]
  },
  "To": [
    {
      "$instance": {
        "Airport": [
          {
            "startIndex": 10,
            "endIndex": 15,
            "text": "paris",
            "type": "Airport"
          }
        ]
      },
      "Airport": [
        [
          "Paris"
        ]
      ]
    }
  ]
}}  Newtonsoft.Json.Linq.JObject
Run Code Online (Sandbox Code Playgroud)

这是访问json的代码:

+       Entities    {{
  "$instance": {
    "To": [
      {
        "startIndex": 10,
        "endIndex": 15,
        "text": "paris",
        "type": "To",
        "score": 0.987954 …
Run Code Online (Sandbox Code Playgroud)

c# asp.net json botframework azure-language-understanding

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

Microsoft Bot Framework (v4):如何将英雄卡列表作为提示选择

我正在尝试创建一个以英雄卡列表为选项的提示对话框。

我创建了一个函数,该函数将返回 herocard 列表并将其用作对话框提示选项。

我怎样才能做到这一点?或者有更好的方法来实现它。注意:我需要把它放在对话提示中,因为我需要实现一个顺序对话。我还将英雄卡列表放在一个单独的函数中,因为我将在其他对话框提示中使用它。

async selectProduct(stepContext){
    return await stepContext.prompt(CHOICE_PROMPT, {
        prompt: 'Select Product:',
        choices: this.productChoices()
    });
}



productChoices(){        
    const productSeriesOptions = [
        CardFactory.heroCard(
        'Title 1',
        CardFactory.images(['image URL 1']),
        CardFactory.actions([
            {
                type: ActionTypes.ImBack,
                title: 'Title 1',
                value: 'Value 1'
            }
        ])
        ),

        CardFactory.heroCard(
        'Title 2',
        CardFactory.images(['image URL 2']),
        CardFactory.actions([
            {
                type: ActionTypes.ImBack,
                title: 'Title 2',
                value: 'Value 2'
            }
        ])
        )
    ];

    return productSeriesOptions;
}   
Run Code Online (Sandbox Code Playgroud)

node.js botframework

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

EchoBot:如何控制从 BotController 到 EchoBot 的流

我正在查看 EchoBot 示例并试图理解它。我看到 BotController 映射到 api/messages 和 HttpPost,后者又调用 Adapter.ProcessAsync。但这如何转化为 EchoBot.OnMessageActivityAsync 调用?我尝试设置断点并查看调用堆栈,但这无济于事(请参阅附加的屏幕截图)。

在此处输入图片说明

我知道 BotFrameworkHttpAdapter 是通过依赖注入调用的。但我不知道我们最终是如何进入 EchoBot 的。

botframework

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