Botframework 您能否在用户消息出现在webchat中之前对其进行渲染?

Botframework 您能否在用户消息出现在webchat中之前对其进行渲染?,botframework,web-chat,Botframework,Web Chat,对于MS Botframework webchat,在webchat中呈现用户消息并对其进行更改之前,是否有办法拦截用户消息?使用createStore()方法很容易实现这一点 在页面中的web聊天脚本中,使用上述方法创建应用商店。在其中,将操作匹配到“网络聊天/发送消息”。这将捕获在显示之前通过web聊天组件传递的每条消息 请注意,此更改的文本(或您正在更改的任何值)是发送给bot的内容操作是根对象操作。有效负载有效地表示活动。在这里可以找到文本值等 在if语句中,执行您希望进行的任何更改,然

对于MS Botframework webchat,在webchat中呈现用户消息并对其进行更改之前,是否有办法拦截用户消息?

使用
createStore()
方法很容易实现这一点

在页面中的web聊天脚本中,使用上述方法创建应用商店。在其中,将
操作匹配到“网络聊天/发送消息”。这将捕获在显示之前通过web聊天组件传递的每条消息

请注意,此更改的文本(或您正在更改的任何值)是发送给bot的内容<代码>操作
是根对象<代码>操作。有效负载有效地表示活动。在这里可以找到文本值等

if
语句中,执行您希望进行的任何更改,然后返回
操作
对象

最后,在
renderWebChat
组件中包含
store
对象。这会让你振作起来

在下面的示例中,我将文本附加到文本字段,在呈现和显示之前对其进行更改


(异步函数(){
const res=等待取数('http://somesite/directline/token“,{方法:'POST'});
const{token}=await res.json();
//我们正在使用一个定制的存储来添加连接事件的钩子
const store=window.WebChat.createStore({},({dispatch})=>next=>action=>{
如果(action.type===“网络聊天/发送消息”){
action.payload.text=action.payload.text+'(幕布后面的你好)'
}
返回下一步(操作);
} );
window.WebChat.renderWebChat({
directLine:window.WebChat.createDirectLine({token}),
userID:'user123',
用户名:“johndoe”,
Botravatarinitials:'BB',
UserAvatariInitials:'JD',
商店
},document.getElementById('webchat');
document.querySelector(“#webchat>*”).focus();
})().catch(err=>console.error(err));


希望有帮助

使用
createStore()
方法很容易实现这一点

在页面中的web聊天脚本中,使用上述方法创建应用商店。在其中,将
操作匹配到“网络聊天/发送消息”。这将捕获在显示之前通过web聊天组件传递的每条消息

请注意,此更改的文本(或您正在更改的任何值)是发送给bot的内容<代码>操作
是根对象<代码>操作。有效负载有效地表示活动。在这里可以找到文本值等

if
语句中,执行您希望进行的任何更改,然后返回
操作
对象

最后,在
renderWebChat
组件中包含
store
对象。这会让你振作起来

在下面的示例中,我将文本附加到文本字段,在呈现和显示之前对其进行更改


(异步函数(){
const res=等待取数('http://somesite/directline/token“,{方法:'POST'});
const{token}=await res.json();
//我们正在使用一个定制的存储来添加连接事件的钩子
const store=window.WebChat.createStore({},({dispatch})=>next=>action=>{
如果(action.type===“网络聊天/发送消息”){
action.payload.text=action.payload.text+'(幕布后面的你好)'
}
返回下一步(操作);
} );
window.WebChat.renderWebChat({
directLine:window.WebChat.createDirectLine({token}),
userID:'user123',
用户名:“johndoe”,
Botravatarinitials:'BB',
UserAvatariInitials:'JD',
商店
},document.getElementById('webchat');
document.querySelector(“#webchat>*”).focus();
})().catch(err=>console.error(err));

希望有帮助