BotFramework TurnContext SendActivityAsyn c "Ссылка на объект не установлена ​​для экземпляра объекта" - PullRequest
1 голос
/ 02 марта 2020

Я пытаюсь использовать 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...