npm 包 botbuilder-timeout 使用教程

阅读时长 6 分钟读完

前言

在前端开发中,我们经常需要使用到聊天机器人,用来进行客户沟通以及自动化流程等。其中,使用 Microsoft Bot Framework 框架进行机器人开发是非常常见的。虽然该框架提供了丰富的功能,但是在实际开发中,我们也会面临一些问题。其中,一个比较常见的问题就是处理机器人超时问题。即,当用户在规定的时间内没有作出响应,机器人如何进行相应处理。针对这个问题,npm 包 botbuilder-timeout 可以提供一些便捷的解决方法。

什么是 botbuilder-timeout

botbuilder-timeout 是一个可以设置机器人响应超时时间的 npm 包,它基于 Microsoft Bot Framework。它的作用在于,当用户没有在规定的时间范围内与机器人进行交互时,机器人会发生超时事件。此时,可以利用 botbuilder-timeout 包来进行一些处理操作。使用 botbuilder-timeout 包,可以实现以下功能:

  • 在设定的时间内等待用户的回复;
  • 在指定时间内未等到用户的回复,从而引发超时事件;
  • 超时事件触发后,可以自动向用户发出提醒信息或回复默认消息等。

安装 botbuilder-timeout 包

在使用 botbuilder-timeout 包之前,需要先安装它。可以在控制台中输入以下命令:

等待安装完成后,即可开始编写机器人超时处理逻辑。

使用方法

1. 初始化 TimeoutMiddleware

在项目中,需要先引入 botbuilder-timeout 包,然后在初始化机器人的时候,使用 TimeoutMiddleware 进行中间件初始化。代码如下:

-- -------------------- ---- -------
----- - ----------------- - - ------------------------------

----- ----------------- - --- -------------------------
----- ------- - --- ---------------------
  ------ ---------------------------
  ------------ ---------------------------------
---

-------------------------------

上述代码使用 TimeoutMiddleware 初始化了一个 10s 的超时时间,即表示在 10s 内,等待用户的回复。如果用户在 10s 内没有回复,则会触发超时事件。

2. 使用超时事件处理程序

除了初始化 TimeoutMiddleware 以外,代码中还需要针对超时事件进行处理。可以使用如下代码,初始化超时事件处理程序:

-- -------------------- ---- -------
----- --------- - ----- --------- ----- -- -
  ----- ---------------------------------------------

  -- --------------------
  -- ----- --------------------------

  -- -------------------------
  -- ----- -------
--

---------------------------------------

上述代码中,onTimeout 是一个异步函数,它用于在发生超时事件时,向用户发出提示信息,或者结束对话等。

3. 完整示例代码

接下来,我们使用上述代码进行机器人超时处理业务的完整实现。具体如下:

-- -------------------- ---- -------
----- - ------------------- - - ----------------------
----- - ----------------- - - ------------------------------ 

----- ------- - --- ---------------------
  ------ ---------------------------
  ------------ ---------------------------------
---

----- ----------------- - --- -------------------------

----- --------- - ----- --------- ----- -- -
  ----- ---------------------------------------------

  -- --------------------
  -- ----- --------------------------

  -- -------------------------
  -- ----- -------
--

---------------------------------------

-------------------------------

-------------- - ----- --------- -- -
  -- ---------------------- --- ---------- -
    ----- ----------------------------------
    -------
  -

  -- --------
  ----- -------------------------------------------------------
--

----- ------- - -------------------
----- - ------------------------- - - ------------------------------
----- --- - ----------

----- ------- - ---------------------------
  ------ ---------------------------
  ------------ ---------------------------------
---

------------------------- ----- ---- -- -
  ---------------------------- ---- ----- --------- -- -
    ----- ------------------------
  ---
---

--------------------------- -- ----- -- -- -
  ---------------------- -- ----------------------------------- -- --------
---

上述代码通过 BotFrameworkAdapter 初始化了一个机器人,然后使用 TimeoutMiddleware 设置了 10s 的超时时间。如果用户在 10s 内没有发送信息,则会触发超时事件,在触发超时事件的同时,会执行相应的超时事件处理程序。在本例中,超时事件处理程序会向用户发送提醒信息。不过,如果需要,也可以使用它来结束本次对话或者执行其他操作。

总结

botbuilder-timeout 是一个十分实用的 npm 包,在处理机器人超时问题上非常方便。它可以通过中间件的方式轻松地完成超时处理等。本文为大家介绍了 botbuilder-timeout 的安装步骤,以及使用方法。通过本文,相信大家对于 botbuilder-timeout 在机器人开发中的应用有了更进一步的了解。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005668081e8991b448e2960

纠错
反馈