Я пытаюсь использовать botframework v4 в Azure Функции Powershell. У меня это работает успешно, просто вызывая необработанные API REST и используя типы рабочих мест, например Activity.
Теперь я пытаюсь использовать собственно фреймворк и адаптеры. Однако, когда я вызываю SendActivityAsyn c в контексте контекста, я получаю «Ссылка на объект не установлена на экземпляр объекта» и действительно не могу выяснить, откуда это происходит.
Есть ли что-то явно отсутствует здесь, или, возможно, другой подход к использованию адаптера BotFrameWork я пропускаю? Я пытаюсь адаптировать образец EchoBot к Powershell, так как образец ConsoleBot не возвращает http обратно в среду бота.
Предположим, что Activity реальная, я знаю, что это не то, откуда исходит мой ноль ( это не позволило бы мне создать turncontext, если бы это было)
$activity = [JsonConvert]::DeserializeObject(($QueueItem -replace '^---JSON---',''), [activity])
#Only Process Message Activities for now
if ($activity.Type -ne 'message') {return}
$reply = $activity.CreateReply("I got your message that says $($activity.text)")
$appCredentials = [MicrosoftAppCredentials]::new('c28d55e3-fb0b-4367-b4a6-f00959a54e5b','n=_y:3LsJo/MYAPPSECRETP5')
$botFrameworkAdapter = [BotFrameworkAdapter]::new($appCredentials, [AuthenticationConfiguration]::new())
$turnContext = [TurnContext]::new($botFrameworkAdapter, $Activity)
$turnContext.SendActivityAsync($reply).GetAwaiter().GetResult()