有没有办法在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);
我的模拟器在同一个聊天窗口中打开新对话
答案 0 :(得分:2)
PagerSnaphelper
拥有您之前版本中所需的功能。在最新的一个AFAIK更改用户ID和群组对话模拟不是开箱即用。然而,好处是这个工具正在做什么 - 它只是向您的Bot Framework Channel Emulator
端点发送http请求。这意味着您可以使用WebApi
或任何其他类似工具捕获这些请求,然后编辑并重新发出请求。这是一种解决方法,但是对于测试pusposes我认为使用这种方法是可以的。
下面是Fiddler屏幕和调试会话屏幕,显示它正在运行:
如果你想进一步自动化 - 在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上按照以下步骤操作:
转到目录 %APPDATA%\ botframework仿真器\ botframework-模拟器
找到server.json文件
在用户部分中替换default-user 你需要的id(在我看来是罗密尔) "用户":{ " currentUserId":"默认用户", " usersById":{ "默认用户":{ " id":" romel", " name":" User" } } }
重启bot模拟器