我有一个机器人,最近我开始从我的直线客户端传递通道数据(用户信息),但是现在这使得调试/测试依赖于此通道数据的代码非常困难。
有没有办法让Bot Framework仿真器发送通道数据,或者在这种情况下有更好的调试方法?
答案 0 :(得分:1)
仿真器没有一种简单的内置方法来发送自定义channelData
。不过,您可以通过几种不同的方式来做到这一点:
正如@EricDahlvang提到的(我对此一无所知),您可以debug any channel locally
仿真器内置于WebChat中,因此输出将完全相同。但是,您会错过Emulator的一些调试功能。
index.html
和您的http://localhost:3978/api/messages
编辑channelData
npx serve
http://localhost:5000
这仅用于测试/模拟目的,并且您想确保它不会投入生产,但是您可以在OnTurnAsync()
内修改传入消息并手动添加channelData
。 / p>
类似的东西:
public async Task OnTurnAsync(ITurnContext turnContext, CancellationToken cancellationToken = default(CancellationToken))
{
var activity = turnContext.Activity;
activity.ChannelData = new
{
testProperty = "testValue",
};
您甚至可以只通过特定的消息来实现它,例如:
if (turnContext.Activity.Text == "change channel data")
{
activity.ChannelData = new
{
testProperty = "testValue",
};
}
此选项有很多不同的选择,您只需要确保它不会投入生产即可。