簡體   English   中英

Azure Bot 服務 SDK 是否需要 restify? (節點)

[英]Does Azure Bot Service SDK require restify? (node)

我正在嘗試將我的 v3 Azure Bot Service ( npm botbuilder ) 轉移到 v4,但是所有教程或文檔似乎都包含restify ,而 v3 沒有。

這是一個嚴格的要求嗎? 或者有沒有人有任何沒有restify例子?

如果是這樣,有誰知道為什么需要它?

我目前正在嘗試處理來自 azure 功能應用程序的主動消息。

V3: https : //docs.microsoft.com/en-us/azure/bot-service/nodejs/bot-builder-nodejs-proactive-messages? view = azure-bot-service-3.0

V4: https : //docs.microsoft.com/en-gb/azure/bot-service/bot-builder-howto-proactive-message? view = azure-bot-service-4.0 & tabs =javascript

提前致謝。

根據 v3 的文檔,它說明如下:

機器人的對話邏輯作為 Web 服務托管。 Bot Framework SDK 使用restify (一種用於構建 Web 服務的流行框架)來創建機器人的 Web 服務器。 SDK 還與Express兼容,並且可以通過一些調整使用其他 Web 應用程序框架。

此外,對於來自 azure 函數應用程序的主動消息,請參閱堆棧溢出問題,其中包含將在每 x 分鍾后觸發的 azure 函數的綁定信息。

希望這可以幫助。

在 Bot Framework SDK v4 中不需要使用restifyexpress 任何使用類似WebRequestWebResponse對象的網絡服務器框架都與 Bot Framework 兼容。

無需任何修改即可使用 Azure Functions。 您創建一個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);
    });

};

當前,您必須在使用 Typescript 和 Azure Functions(或創建填充層)時將 WebRequest 對象轉換為any ,但這將在 4.9 中根據此 open pull request 解決

為了發送主動通知,您甚至不需要這種方法。 我在您的類似問題中為 Bot Framework SDK v4 的主動功能創建了一個示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM