Botframework 禁用用户键入文本框c#

Botframework 禁用用户键入文本框c#,botframework,bots,chatbot,Botframework,Bots,Chatbot,是否可以在任何通道中禁用V4 bot框架中的用户输入文本区域?这是客户要求的一部分,有人能帮我吗 您所指的框称为发送框。如果正在使用,可以通过styleOptions传递值来禁用它,如下所示: (异步函数(){ 常量样式选项={ hideSendBox=true } [...] window.ReactDOM.render( , document.getElementById('webchat') ); }) 如果您使用的是iFrame嵌入式版本的Web Chat,则它是不可配置的 希望有帮

是否可以在任何通道中禁用V4 bot框架中的用户输入文本区域?这是客户要求的一部分,有人能帮我吗


您所指的框称为发送框。如果正在使用,可以通过
styleOptions
传递值来禁用它,如下所示:


(异步函数(){
常量样式选项={
hideSendBox=true
}
[...]
window.ReactDOM.render(
,
document.getElementById('webchat')
);
})
如果您使用的是iFrame嵌入式版本的Web Chat,则它是不可配置的

希望有帮助


编辑 如果希望发送框根据从bot接收到的活动类型做出响应,则需要结合使用
activityMiddleware()
函数以及事件发射器/侦听器。在下面的示例中,当
suggestedActions
是活动属性时,我隐藏/显示发送框

请注意,数据值应为“无”和“灵活”。特别是后一个值,当它不是
suggestedActions
时,以维护当前代码


(异步函数(){
[...]
const activityMiddleware=()=>next=>card=>{
const{activity:{suggestedActions}}=card;
const toggleSendBoxEvent=新事件('toggleSendBoxEvent')
如果(建议的行动){
toggleSendBoxEvent.data=“无”;
window.dispatchEvent(toggleSendBoxEvent);
}否则{
toggleSendBoxEvent.data=“flex”;
window.dispatchEvent(toggleSendBoxEvent);
}
返回下一张(卡片);
)
[...]
window.ReactDOM.render(
,
document.getElementById('webchat')
);
addEventListener('ToggleSendBoxEvent',({data})=>{
const sendboxs=document.getElementsByClassName(“main”);
让我们把盒子寄出去;
对于(让sendBox中的sendBox){
发送框=发送框;
}
send_Box.setAttribute('style','display:${data}`)
})
});


希望有帮助!

您所指的框称为发送框。如果您正在使用,可以通过
样式选项传递值来禁用它,如下所示:


(异步函数(){
常量样式选项={
hideSendBox=true
}
[...]
window.ReactDOM.render(
,
document.getElementById('webchat')
);
})
如果您使用的是iFrame嵌入式版本的Web Chat,则它是不可配置的

希望有帮助


编辑 如果希望发送框根据从bot接收到的活动类型做出响应,则需要使用
activityMiddleware()的组合
函数以及事件发射器/侦听器。在下面的示例中,当
suggestedActions
是活动属性时,我隐藏/显示发送框

请注意,数据值应为“无”和“灵活”。特别是,如果后者不是
suggestedActions
,则应为后者,以维护当前代码


(异步函数(){
[...]
const activityMiddleware=()=>next=>card=>{
const{activity:{suggestedActions}}=card;
const toggleSendBoxEvent=新事件('toggleSendBoxEvent')
如果(建议的行动){
toggleSendBoxEvent.data=“无”;
window.dispatchEvent(toggleSendBoxEvent);
}否则{
toggleSendBoxEvent.data=“flex”;
window.dispatchEvent(toggleSendBoxEvent);
}
返回下一张(卡片);
)
[...]
window.ReactDOM.render(
,
document.getElementById('webchat')
);
addEventListener('ToggleSendBoxEvent',({data})=>{
const sendboxs=document.getElementsByClassName(“main”);
让我们把盒子寄出去;
对于(让sendBox中的sendBox){
发送框=发送框;
}
send_Box.setAttribute('style','display:${data}`)
})
});


希望获得帮助!

很遗憾,目前没有此类功能。这是错误的。请参阅提供的解决方案。接受/向上投票回答将服务于更大的堆栈溢出社区和任何有类似问题的人。如果您认为我的回答足够,请“接受”如果不是,让我知道我还有什么可以帮助的!@史蒂文坎伯格OP指定<代码>频道<代码>你能举一个例子来<代码>频道<代码>吗?我知道它在网络聊天中是可能的,它是因为<代码> JavaScript < /代码>。所以希望你能考虑你的话<代码>这是不正确的< /代码>不幸的是,没有这样的功能。此时。这是不正确的。请查看提供的解决方案。接受/向上投票答案服务于更大的堆栈溢出社区和任何有类似问题的人。如果您认为我的答案足够,请“接受”如果不是,让我知道我还有什么可以帮助的!@史蒂文坎伯格OP指定<代码>频道<代码>你能举一个例子来说明<代码>频道<代码>吗?我知道它在WebChalk中是可能的,它是因为<代码> JavaScript < /代码>。所以希望你能考虑你的话<代码>这是不正确的< /COD> >但是我们如何隐藏特定C上的发送框呢?条件?例如,当我的机器人响应有按钮/选项可供选择时,我希望禁用发送框,并且应该启用发送框来回答机器人的正常问题。如果你能帮我解决这个问题,那将非常有帮助。提前感谢更新帖子,以反映如何有条件地显示/隐藏发送框。请e upvote,如果有用的话。@StevenKanberg你能帮我一下吗,我的代码出了什么问题,它对我不起作用,我使用了你的解决方案,在这里找到我的完整代码:但是我们如何在特定条件下隐藏发送框?例如,当我的机器人响应有按钮/选项可供选择时,我希望禁用发送框,并且发送框应该是e能够