Я отправляю сообщение о существующем разговоре своему чат-боту MS Teams извне, то есть приложению Windows Forms.
ChannelAccount userAccount = originalActivity.From;
ChannelAccount botAccount = new ChannelAccount("GenerateReport", "AzureFunction");
var message = new Activity();//Microsoft.Bot.Schema.Activity.CreateEventActivity();
message.Type = ActivityTypes.Message;
message.From = originalActivity.Recipient; //new ChannelAccount("GenerateReport", "AzureFunction");//botAccount;
message.Value = originalActivity;
((Activity)message).Text = "LongOperationResponse";
message.Recipient = originalActivity.From;// userAccount;
message.ChannelId = originalActivity.ChannelId;
message.Conversation = originalActivity.Conversation;
ResourceResponse response21= await connectorClient.Conversations.SendToConversationAsync((Activity)message);
Сообщение об активности отправлено успешно, и сообщение появляется в беседе с чат-ботом.
Я также хотел бы каким-то образом отловить событие, когда вышеуказанное сообщение получено чат-ботом ma team. Я добавил следующие обработчики событий в класс DialogBot, который наследуется от класса ActivityHandler.
- OnMessageActivityAsync
- OnEventActivityAsync
- OnTurnAsync
Однако ни один из вышеперечисленных обработчиков событий не запускается, когда сообщение отправляется извне с использованием вышеуказанной логики.
Эти обработчики событий запускаются только тогда, когда пользователь набирает сообщение в чат-боте.
Какое событие должно запускаться, когда чат-бот команды получает внешнее сообщение, и как мне обработать это событие.
Пожалуйста помоги.
Спасибо гаган