在现代的聊天应用中,快速回复通常是传达信息的最有效方式之一。在基于 Bot Framework 的聊天应用中,通过使用 botbuilder-quickreplies,我们可以轻松地添加快速回复菜单。
安装
我们可以使用如下命令来安装 botbuilder-quickreplies:
npm i botbuilder-quickreplies
快速入门
让我们来创建一个简单的聊天应用,该应用将询问用户一个基本问题,并展示快速回复菜单。
创建项目
我们可以使用如下命令来创建一个新的 Node.js 项目:
npm init
安装 botbuilder 和 botbuilder-quickreplies:
npm i botbuilder botbuilder-quickreplies
添加代码
在项目的根目录下创建一个 index.js
文件,并添加以下代码:
-- -------------------- ---- ------- ----- - ------------------- - - ---------------------- ----- - ------------- - - ---------------------- ----- - ----------------- - - ---------------------- ----- - ------------- - - ---------------------- ----- - -------------------- - - ----------------------------------- ----- ------- - --- --------------------- ------ --------------------------- ------------ -------------------------------- --- ----- ------------- - --- ---------------- ----- ----------------- - --- --------------------------------- ------------------------------------ -------------------- ------------- -- - -- -------------------------- --- ---------------------- - ----- -------------------------- ----- ----------- ----------------- - -------- - - ----- ----------- ------ ----- ------ ---- -- - ----- ----------- ------ ----- ------ ---- -- - ----- ----------- ------ ----- ------ ---- - - - --- - --- ----- ---- - ---------------- -- ----- -------------------- -- -- - ---------------------- -- ---------- ---
在这段代码中,我们使用 Bot Framework 和 botbuilder-quickreplies 创建了一个简单的聊天应用。当用户发送一个消息时,应用程序将向用户提出一个问题,并显示一个快速回复菜单,让用户可以轻松地回答问题。
解释
让我们来逐步了解上述代码的功能。
组件导入
botbuilder
和 botbuilder-quickreplies
组件被导入到我们的项目中。这些组件使我们能够创建和托管聊天应用。
const { BotFrameworkAdapter } = require('botbuilder'); const { MemoryStorage } = require('botbuilder'); const { ConversationState } = require('botbuilder'); const { ActivityTypes } = require('botbuilder'); const { quickReplyMiddleware } = require('botbuilder-quickreplies');
创建适配器
使用 BotFrameworkAdapter
创建一个新的适配器实例。适配器将充当聊天应用程序或 Bot 的入口点。
const adapter = new BotFrameworkAdapter({ appId: process.env.MicrosoftAppId, appPassword: process.env.MicrosoftAppPassword });
创建存储
在内存中创建一个存储区,使我们可以存储和检索信息。
const memoryStorage = new MemoryStorage(); const conversationState = new ConversationState(memoryStorage);
使用 quickReplyMiddleware 中间件
使用 quickReplyMiddleware
中间件,该中间件将帮助我们处理快速回复菜单。
adapter.use(quickReplyMiddleware());
监听 onTurn() 方法
当适配器接收到新的转换时,会调用 onTurn()
方法。在此处,我们使用 suggestedActions
属性创建一个快速回复菜单。
-- -------------------- ---- ------- -------------------- ------------- -- - -- -------------------------- --- ---------------------- - ----- -------------------------- ----- ----------- ----------------- - -------- - - ----- ----------- ------ ----- ------ ---- -- - ----- ----------- ------ ----- ------ ---- -- - ----- ----------- ------ ----- ------ ---- - - - --- - ---
启动服务器
使用 listen()
方法启动服务器,并指定应用程序的端口号。
const port = process.env.PORT || 3978; adapter.listen(port, () => { console.log(`listening on ${port}`); });
结论
通过使用 npm 包 botbuilder-quickreplies,我们可以轻松地为基于 Bot Framework 的聊天应用添加快速回复菜单。本文提供了一些示例代码,以帮助您开始创建自己的聊天应用程序。希望这篇文章能够帮助您深入了解 botbuilder-quickreplies,并开始使用它为您的聊天应用程序提供更好的用户体验。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60057ad681e8991b448eb62b