Microsoft Teams не поддерживает postBack
как отдельный тип действия из messageBack
, поэтому он будет интерпретировать postBack
и messageBack
одинаково. Вы можете увидеть четыре свойства, которые вы можете использовать в messageBack
действии здесь .
Ваше действие не работает в командах, потому что вы пытаетесь использовать строку для свойства значения , Если вы хотите продолжать использовать строку, то вы можете использовать свойство text, как предложил Sandeep, и тогда ваш бот должен будет читать текст из свойства text входящей активности вместо его свойства value. Если вы хотите продолжать использовать свойство value, тогда вам следует использовать объект вместо строки, подобной этой:
new CardAction(ActionTypes.MessageBack, "Prevention Guidelines", value: new { choice: "Prevention" })
Это заполнит свойство value входящей активности тем же объектом, чтобы вы могли получить доступ выбор пользователя так:
var selection = turnContext.Activity.Value is null ? null : (JToken.FromObject(turnContext.Activity.Value) as JObject)?["choice"];