使用Microsoft Bot Framework时遇到问题。我开发了一个可以在Skype上运行的机器人。我需要创建一个带有两个按钮的英雄卡(是/否),并将其发送给用户。 我不得不说,使用Microsoft Bot Framework API和Python(但我认为语言并不重要)。 使用类型 - ' imBack'和值 - 字符串。 按下按钮时,消息将显示在聊天中,并带有值。 这对我不好。我希望在这种情况下隐藏来自用户的消息是它只收到了我的skype bot。 根据{{3}}可以做到。但我不是为我工作的。
使用操作发送上下文
将上下文发送回您的机器人(例如请求ID)会很有用 没有在消息中向用户显示此信息。去做这个 您可以将隐藏的XML附加到向用户显示的可见字符串, 这只是你的机器人看到的。
可见消息< context hiddenId =' 10' />
它写在文档中。 我非常感谢你的帮助。
答案 0 :(得分:2)
如果您想要隐藏最终用户的消息,您会想要使用postBack而不是imBack:
postBack()和imBack()动作之间的差异很微妙。该 意图是imBack()将显示发送给bot的消息 在用户feed中,postBack()将隐藏发送的消息 用户。并非所有频道(如Skype)目前都支持postBack() 这些渠道将简单地回归到使用imBack()。这一般 不会改变你的机器人的行为方式,但它确实意味着,如果你是 包括postBack()中的订单ID等数据,它可能是可见的 在某些渠道上,当你没想到它时。
答案 1 :(得分:0)
只是一个可以节省我一些时间的小费。截至今天,Skype支持postBack。但是,与模拟器相比,行为存在差异。
在模拟器中,放置在卡片操作按钮的Value属性中的对象将出现在message.Value属性中。在Skype的情况下,该对象将作为message.Text属性中的字符串。
虽然这无助于区分用户是单击按钮还是写入某些文本(与模拟器中发生的事情相反),但这仍然比直接编写隐藏的xml更好,imo。