为Botframework Bot配置自定义端点

时间:2018-10-03 09:52:01

标签: c# botframework

我想用C#创建一个机器人。如何设置端点的路径。

我试图做

        httpConfiguration.MapBotFramework(botConfig =>
        {
            botConfig.UsePaths(paths => {
                paths.BasePath = "/bot";
                paths.MessagesPath = "/john";
            });

        });

但是当访问http://localhost:7990/bot/john时,我确实得到了404。

2 个答案:

答案 0 :(得分:0)

如果您使用提供的集成层,则将对端点进行硬编码,您可以通过不使用我们的集成层来更改此端点。 this project

中有一个示例

修改
有趣的是,我从未从那个角度想到过它。我喜欢另一种方式,因为它可以为您提供对端点的更多开放控制,并轻松地允许多个端点,但这也可以工作。通过对其进行一些更改,我就能够成功更改bot的端点。

首先,我像这样设置.bot文件,将旧路径替换为'endpoint'属性中的其他内容:

df_new = (df1.merge(df2[['Sub', 'Value']],
                    how='left',
                    left_on=['Ext. Index', 'Ext. Sub'],
                    right_on=[df2.index, 'Sub'])
          .set_index(df1.index)
          .drop('Sub', axis=1))

然后我要做的就是将其添加到我的启动中:

{
  "name": "{your botname}",
  "padlock": "{your-padlock}",
  "services": [
    {
      "type": "endpoint",
      "name": "development", // "production" would work too
      "endpoint": "https://{your-site}.azurewebsites.net/bot/endpoint",
      "appId": "{your-app-id}",
      "appPassword": "{your-app-password}",
      "id": "1"
    }
  ],
  "version": "2.0"
}

答案 1 :(得分:0)

实际上,对我有用的代码如下:

httpConfiguration.MapBotFramework(botConfig =>
{
    botConfig.BotFrameworkOptions.Paths = new BotFrameworkPaths()
    {
        BasePath = "/bot",
        MessagesPath = "/john"
    };
});