2016-12-07 85 views
2

使用Microsoft Bot Framework時遇到問題。我開發了一個可以在Skype上運行的bot。我需要用兩個按鈕創建英雄卡(是/否),並將其發送給用戶。 我不得不說,它使用微軟Bot框架API和Python(但語言並不重要,我認爲)。 使用類型 - 'imBack'和 - 字符串。 按下按鈕時,消息將出現在聊天中,其中的值爲。 這對我很不好。我想在這種情況下隱藏來自用戶的消息是它只收到我的Skype機器人。 根據documentation可以做到。但我不爲我工作。微軟Bot框架。隱藏來自用戶的文本消息

用行動

發送上下文它可以是有用的發送上下文返回到您的機器人(例如,請求ID) 而不顯示該信息來在一個消息中的用戶。要做到這一點 你可以將隱藏的XML追加到顯示給用戶的可見字符串中, 只有你的機器人才能看到。

可見消息<上下文hiddenId = '10'/ >

它被寫入的文件中。 我將非常感謝您的幫助。

回答

2

你會想用回發不imBack如果要隱藏從最終用戶的信息:回傳()和imBack之間()動作

的差異是很微妙的。意圖是imBack()將顯示消息被髮送到用戶feed中的bot ,其中postBack()將隱藏來自 用戶的已發送消息。並非所有的頻道(如Skype)目前支持postBack(),所以 這些頻道將簡單地回退到使用imBack()。這通常是 不會改變你的機器人的行爲,但這確實意味着如果你是 包括你的postBack()中的訂單ID等數據,你可能會在某些頻道看到 ,如果你沒有想到它的話。

+0

謝謝拉斯你的快速回答。 我已經在文檔中看到了這個機會,但是我需要使用skype作爲傳遞消息的主要渠道,據我所知,skype不支持postBack() –

+1

正確。這是Skype即將解決的一個已知限制。 – Lars

+0

太棒了!因爲這個功能是非常必要的。我會等待更新。 Thx! –

0

只是一個小費,可以節省我一些時間。截至今天,postBack在Skype上受支持。雖然與模擬器相比,行爲有所不同。

在模擬器中,放入卡操作按鈕的Value屬性的對象將出現在message.Value屬性中。在Skype案例中,該對象將作爲message.Text屬性中的字符串出現。

雖然這並不能幫助區分用戶是單擊按鈕還是寫入一些文本(而不是模擬器中發生的情況),但這仍然比直接編寫隱藏的XML更好。