标签: botframework

在 Bot Framework 通道模拟器上进行 POST 连接 ECONNREFUSED

我在 Bot Framework 上遇到奇怪的错误。它总是说:

POST connect ECONNREFUSED 127.0.0.1:3978 
Run Code Online (Sandbox Code Playgroud)

这是 Bot Framework Channel Operator 的详细信息:

{
"type": "conversationUpdate",
"membersAdded": [
{
  "id": "default-bot",
  "name": "Bot"
}
],
"id": "1dhnjafnclhfeml51c",
"channelId": "emulator",
"timestamp": "2017-04-22T03:56:06.215Z",
"localTimestamp": "2017-04-22T11:56:06+08:00",
"recipient": {
"id": "default-bot",
"name": "Bot"
},
"conversation": {
"id": "a1376jghbggg6a5hjc"
},
"from": {
"id": "default-user",
"name": "User"
},
"serviceUrl": "http://localhost:51293"
}
Run Code Online (Sandbox Code Playgroud)

我正在使用 Visual Studio 2017,使用 Bot 应用程序模板并通过 Bot Framework Channel Emulator 连接 API。我尝试刷新模拟器以启动新消息,尝试重新启动网站项目,重建它,但它仍然是一样的。我没有更改机器人应用程序模板上的代码。本地主机 URL 正确。我不确定为什么会遇到错误或者我错过了什么。

c# bots botframework

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

刷新 Teams Bot 图标 + 名称

我更新了 Bot Framework 机器人的名称 + 图标。在 Teams 中,我看不到更新它的方法。我记得必须手动删除程序文件中的一些缓存文件夹,但想知道是否有更简单的方法(+ 来自 Web 的 Teams 中的机器人与我的本地缓存关系不大,并且而且那个也不会刷新)。

如何在 Teams 桌面 + Web 中刷新我的机器人名称 + 图标?

botframework microsoft-teams

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

如何使用 Bot Framework 发送主动对话

我想用 C# 中的 BotBuilder 主动发起对话。主动消息工作正常,但我想发起一个对话。他们的方式是使用我的 Bot 类中的 dialogSet,但在这种情况下,我在另一个类上执行回调并且无法访问 dialogSet。这样做的正确方法是什么?

botframework

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

MS Teams 中的 OAuth 卡?

我使用 Direct Line 构建了我的机器人,并且在那里进行了身份验证。但是当我将我的机器人部署到 MS Teams 时,按下登录按钮根本没有任何作用。我使用了以下代码:

AddDialog(new OAuthPrompt(
    nameof(OAuthPrompt),
    new OAuthPromptSettings
    {
        ConnectionName = ConnectionName,
        Text = " Welcome! Please Sign In.",
        Title = "Sign In",
        Timeout = 300000, // User has 5 minutes to login (1000 * 60 * 5),
    })
);
Run Code Online (Sandbox Code Playgroud)

我尝试查找文档,但似乎他们使用的是不同的框架,或者 v3 bot 框架。如何让 OAuth 在 web 和 ms 团队中工作?

我正在使用 Bot Framework v4。

botframework microsoft-teams azure-bot-service

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

语音功能在 IFrame 中不起作用

我有一个机器人客户端,我在其中启用了语音功能。当我在新窗口中打开机器人客户端时,一切正常。最近,我们在页面中添加了此机器人客户端站点 URL 作为 IFrame。在此情况下,除语音功能外,所有功能都运行良好。当我们单击麦克风图标时,没有任何反应。

已在多种浏览器和设备中尝试过,所有设备中都有同样的问题。Windows - Chrome、IE iPad、iPhone

这是预期的行为吗?或者我需要更新什么吗?

如果您希望我分享任何代码,请告诉我。

代码。

 speechOptions = {
        speechRecognizer: new CognitiveServices.SpeechRecognizer({
            subscriptionKey:
                'xxx'
        }),
        speechSynthesizer: new CognitiveServices.SpeechSynthesizer({
            gender: CognitiveServices.SynthesisGender.Female,
            subscriptionKey: 'xxx'
            voiceName: 'Microsoft Server Speech Text to Speech Voice (en-US, ZiraRUS)'
        })
    };
    BotChat.App({
        botConnection: botConnection,
        user: { id: model.userId, Username: LoginUser,},
        bot: { id: model.botId, name: model.botName },
        resize: 'window',
        speechOptions: speechOptions,
        locale: 'en',
        sendTypingIndicator: true
    }, document.getElementById('BotChatElement'));

    botConnection
        .postActivity({
            from: user,
            name: 'requestWelcomeDialog',
            type: 'event',
            value: ''
        })
        .subscribe(function (id) {
            console.log('"trigger …
Run Code Online (Sandbox Code Playgroud)

speech-recognition botframework azure-cognitive-services

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

如何正确删除或更新机器人框架上的活动?

我找不到有关文档的指南以使这成为可能。我尝试使用TurnContext.UpdateActivity,但出现错误。

我的代码:

IMessageActivity responseActivity = MessageFactory.Text("Test ctm");
responseActivity.Id = userProfile.messageToDelete;
responseActivity.Conversation = turnContext.Activity.Conversation;
responseActivity.ServiceUrl = turnContext.Activity.ServiceUrl;
//await turnContext.DeleteActivityAsync(userProfile.messageToDelete, cancellationToken: cancellationToken);
await turnContext.UpdateActivityAsync(responseActivity, cancellationToken);
Run Code Online (Sandbox Code Playgroud)

最后一行抛出异常:

Microsoft.Bot.Schema.ErrorResponseException:'操作返回无效状态代码'NotFound''

可能有什么问题?你能分享任何代码示例吗?

botframework

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

无法在 Azure 机器人框架中调用 Luis

在此处输入图片说明我是 dotnet 以及 Luis 和机器人框架的菜鸟。

我试图让一些机器人样本在我的机器上工作

https://github.com/microsoft/BotBuilder-Samples

我对这个特别感兴趣

https://github.com/microsoft/BotBuilder-Samples/tree/master/samples/csharp_dotnetcore/13.core-bot

当我运行机器人时,它没有连接到 Luis(请参阅下面的错误消息)。

  • 我通过导入应用程序中提供的意图在 Luis 中创建并发布了一个应用程序。
  • 我在正确的 JSON 文件中写入了 LuisAppId、LuisAPIKey 和 LuisAPIHostName(见下文)。
  • 我在项目中添加了 dotnet 库: dotnet add package Cognitive.LUIS.Programmatic

然后我只需cmd "dotnet run"在正确的文件夹中运行代码。

这里是app.setting JSON。我使用订阅密钥作为 LuisAPIKey,应用 ID 作为 LuisAppId。

{
  "MicrosoftAppId": "",
  "MicrosoftAppPassword": "",
  "LuisAppId": "2aa2b9c5-#######################7b557",
  "LuisAPIKey": "1069d###############4347da9",
  "LuisAPIHostName": "westus.api.cognitive.microsoft.com/luis/api/v2.0"
}
Run Code Online (Sandbox Code Playgroud)

该机器人正在我的本地主机上运行。但它不起作用。

bot : 今天有什么可以帮到你的吗?像这样说“预订 2020 年 3 月 22 日从巴黎飞往柏林的航班”

我:“请预订 2020 年 3 月 22 日从巴黎飞往柏林的航班”

bot :“机器人遇到错误或错误。”

bot :“要继续运行此机器人,请修复机器人源代码”


On the cmd line : 
"fail: Microsoft.Bot.Builder.Integration.AspNet.Core.BotFrameworkHttpAdapter[0] …
Run Code Online (Sandbox Code Playgroud)

azure .net-core botframework azure-language-understanding

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

用于团队捕获唯一用户 ID 的 Microsoft bot 框架

我们正在使用 ms 团队和 ms 机器人构建产品集成。我们已经与 Slack 进行了现有的集成。在 slack World 中,我们通过 TEAM_ID 和 USER_ID 识别唯一用户。在 Teams 的情况下,我什至可以看到 from 节点中的 id 是一个很长的字符串,表明它是唯一的。以下有效负载是进入我们服务器的一个示例。有人可以确认使用来自 from 节点的 id 是否不会改变特定用户吗?

假设对以下用户不感兴趣的用户 ID 是“29:1374Bmi6ngJLBlF9oGVcDuTaBbMfJmcOF9eUvQVdx_rgYh5spPNQ5Mi6fLdVvCiT7mQPMNytT0zGk_iAUtvqKAwXXXX”


{
  "_activity": {
    "id": "1576102076169",
    "from": {
      "id": "29:1374Bmi6ngJLBlF9oGVcDuTaBbMfJmcOF9eUvQVdx_rgYh5spPNQ5Mi6fLdVvCiT7mQPMNytT0zGk_iAUtvqKAwXXXX",
      "name": "My Name",
      "aadObjectId": "37a2516a-baf2-41d8-a406-a067888d676c"
    },
    "conversation": {
      "conversationType": "personal",
      "tenantId": "9bfb3569-994e-4908-855c-c7f6c1a94100",
      "id": "a:1DcGjCAgiuinvuzR0Mx6dR9uJOB3YUwjMdLOiGTAwQ7KWSGsiEijNfvir66ep7k0fABwoSXxCAACx2_3GflfTNIZL7XMkfjrMm0v8OzJJ7vvIFKasqrClrZ_T-8dDfdT0"
    },
    "channelData": {
      "tenant": {
        "id": "9bfb3569-994e-4908-855c-c7f6c1a94100"
      }
    },
    "text": "contact mat",
    "textFormat": "plain",
    "type": "message",
    "channelId": "msteams",
    "serviceUrl": "https://smba.trafficmanager.net/amer/",
    "recipient": {
      "id": "28:a835cf1d-83a8-4ae9-845a-23a68a1df442",
      "name": "FlashCX.ai"
    }
  }
} 
Run Code Online (Sandbox Code Playgroud)

botframework microsoft-teams

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

禁用用户输入文本框 c#

是否可以在任何频道的 V4 机器人框架中禁用用户键入输入文本区域?我将此作为客户要求的一部分 有人可以帮助我吗

在此处输入图片说明

bots chatbot botframework

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

BotFramework - handleTeamsTaskModuleFetch URL 不起作用

下面是我要返回的继续任务模块。当我直接在浏览器中点击 URL 时,该 URL 工作正常,但在团队中,我总是得到这个:

在此处输入图片说明

任务模块响应

handleTeamsTaskModuleFetch() {
  return {
    task: {
      type: "continue",
      value: {
        title: "response",
        url: `${process.env.HostName}/help.html`,
        fallbackUrl: `${process.env.HostName}/help.html`,
        width: 500,
        height: 500
      }
    }
  };
}
Run Code Online (Sandbox Code Playgroud)

谁能看到我做错了什么?

干杯

注意:这就是我创建自适应卡的方式

const adaptiveCard = {
  $schema: 'http://adaptivecards.io/schemas/adaptive-card.json',
  version: '1.0',
  type: 'AdaptiveCard',
  body: [{
    type: 'TextBlock',
    text: 'Task Module Invocation from Adaptive Card',
    weight: 'bolder',
    size: 3
  }],
  actions: [{
    type: 'Action.Submit',
    title: "TEST",
    data: { msteams: { type: 'task/fetch'}, data: "meTask" }
  }]
}
Run Code Online (Sandbox Code Playgroud)

botframework microsoft-teams

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