The Bot framework works fine alone... however, when using Facebook Messenger, it drives me crazy😩!
There are message types like 'quick choices' and 'hero cards' which render differently on various clients. I successfully have these working (after some messing about)... see 'Rules for FB messages to render' below.
However, when I'd attempt to apply them in the real-use case I had planned then they would fail. Today, I took some time today to try to understand the root cause.
I've come to the conclusion that FB won't accept the more advanced message types when sent from a 'Continued Conversation', that is a conversation that has ended for a while. When a server-side event triggers such a case then the best my Bot can do is send a simple text message to the user. Any more complex interaction than that seem like it will be left to the interactions that follow from the user.
Rules for FB messages to render:
1/ Bot must be published (not on local host)
2/ Use the FacebookAdapter
3/ Facebook Channel must be configured in Azure.
The above allows bot framework to transform the markup into the format needed for messenger.