MS Bot框架模拟器chang用户id

时间:2017-07-04 12:39:50

标签: c# emulation botframework

有没有办法在bot模拟器中更改默认用户ID(默认用户')?

或许它可能同时支持多方对话?

我想同时模拟两个不同的用户(因为我的项目中有多个用户类型。

当我尝试创建像这样的新对话时

....
var connector = new ConnectorClient(new Uri(context.Activity.ServiceUrl));
var userAccount = new ChannelAccount("//here we need to provide user id which is always default-user", "Provider");
var botAccount = context.Activity.Recipient;

var conversation = await connector.Conversations.CreateDirectConversationAsync(botAccount, userAccount);
var message = context.MakeMessage();
message.Recipient = userAccount;
message.From = botAccount;
message.Conversation = new ConversationAccount(false, conversation.Id);
await connector.Conversations.SendToConversationAsync((Activity) message);

我的模拟器在同一个聊天窗口中打开新对话

4 个答案:

答案 0 :(得分:2)

PagerSnaphelper拥有您之前版本中所需的功能。在最新的一个AFAIK更改用户ID和群组对话模拟不是开箱即用。然而,好处是这个工具正在做什么 - 它只是向您的Bot Framework Channel Emulator端点发送http请求。这意味着您可以使用WebApi或任何其他类似工具捕获这些请求,然后编辑并重新发出请求。这是一种解决方法,但是对于测试pusposes我认为使用这种方法是可以的。

下面是Fiddler屏幕和调试会话屏幕,显示它正在运行:

Fiddler reissued request

Activity variable value during debug

如果你想进一步自动化 - 在botframework网站上有一个REST Api documentation,你就可以建立自己的客户端。

答案 1 :(得分:1)

我致力于Bot Framework Emulator。我们最近添加了无需使用Fiddler之类的功能即可覆盖在对话中使用的生成的用户ID的功能。您可以利用我们的latest release使用此功能。我希望这对您的情况有用。

答案 2 :(得分:0)

我不知道与不同用户进行多次对话的方式,但您无法更改当前正在发送消息的用户的ID /名称。

您可以通过编辑模拟器用来存储其设置的配置文件来完成此操作。

在linux上,我在这里找到了这个设置文件: ~/.config/botframework-emulator/botframework-emulator/server.json

您会找到一个"用户"在那个json文件中。

将该部分更改为:

"users": {
    "currentUserId": "default-user2",
    "usersById": {
      "default-user": {
        "id": "default-user",
        "name": "User"
      },
      "default-user2": {
        "id": "default-user2",
        "name": "User2"
      }
    }

您需要重新启动模拟器,然后您的对话应该是User2而不是User。

当您想要更改它时,您只需要更改:

"currentUserId": "default-user2",

回到

"currentUserId": "default-user",

答案 3 :(得分:0)

在Windows上按照以下步骤操作:

  1. 转到目录 %APPDATA%\ botframework仿真器\ botframework-模拟器

  2. 找到server.json文件

  3. 在用户部分中替换default-user 你需要的id(在我看来是罗密尔) "用户":{ " currentUserId":"默认用户", " usersById":{   "默认用户":{     " id":" romel",     " name":" User"   } } }

  4. 重启bot模拟器