Как перехватывать сообщения в Bot Framework v4 для ведения журнала, используя C # Core 3.1

#c# #botframework #middleware #asp.net-core-3.1

#c# #botframework #промежуточное программное обеспечение #asp.net-core-3.1

Вопрос:

Мы нашли эту документацию, объясняющую, как перехватывать сообщения в bot framework v3: https://learn.microsoft.com/en-us/azure/bot-service/dotnet/bot-builder-dotnet-middleware?view=azure-bot-service-3.0

Мы хотим сделать именно это, только в v4 bot framework.

Мы не смогли найти документацию по перехвату сообщений для bot Framework v4 здесь: https://learn.microsoft.com/en-us/azure/bot-service/?view=azure-bot-service-4.0

Есть ли способ перехватывать сообщения в bot Framework v4, чтобы мы могли их регистрировать?

Мы уже регистрируем сообщения пользователей в OnMessageActivityAsync методе. Итак, нам нужно только регистрировать сообщения, которые отправляются от бота пользователю.

Заранее спасибо.

Комментарии:

1. Вам нужно промежуточное программное обеспечение. Смотрите : learn.microsoft.com/en-us/aspnet/core/fundamentals/middleware /…

2. @jdweng есть ли шанс, что вы могли бы быть более конкретными?

Ответ №1:

Сначала мы попытались создать собственное промежуточное программное обеспечение, но не смогли заставить его работать.

После некоторых дополнительных исследований мы решили использовать turnContext.OnSendActivities этот MyBot.OnTurnAsync метод. Вот так:

 turnContext.OnSendActivities(async (sendContext, activities, nextSend) =>
{
  // Log activities here
  return await nextSend();
});
  

Для нас это решение идеально, и его проще реализовать, чем создание пользовательского промежуточного программного обеспечения. В любом случае спасибо.