Не обязательно использовать restify
или express
в Bot Framework SDK v4. Любая платформа веб-сервера, в которой используется аналогичный объект WebRequest
и WebResponse
, совместима с платформой Bot Framework.
Azure Функции можно использовать без каких-либо изменений. Вы создаете httpTrigger
прослушивание POST-запросов. Внутри httpTrigger вы вызываете adapter.processActivity
точно так же, как вы это делаете в «обычном» боте.
const httpTrigger: AzureFunction = async function (context: Context, req: HttpRequest): Promise<void> {
adapter.processActivity(req as any, context.res as any, async (context) => {
// Route to main dialog.
await myBot.run(context);
});
};
В настоящее время вы должны приводить объект WebRequest как any
при использовании Typescript и Azure Функции (или создание слоя подкладки), но это будет решено в 4.9 в соответствии с этим открытым запросом на извлечение .
Для отправки проактивных уведомлений вам не нужно даже не нужен этот подход. Я создал пример проактивной функции для Bot Framework SDK v4 в ваш аналогичный вопрос .