在前端开发中,聊天机器人正受到越来越多的关注。而 Botkit 提供了一种构建和管理聊天机器人的框架。为了方便前端开发人员使用 Botkit,npm 社区发布了名为 botkitify
的包。
Botkitfy 是一个基于 Botkit 的 npm 包,它允许开发人员使用简单、高级的 API 来构建聊天机器人。这篇文章将讲解如何使用 Botkitfy。
安装
首先需要安装 Botkitfy。在命令行中输入以下命令:
npm install botkitify
配置
创建一个新的 JS 文件并在文件头部引用包:
const { Botkit } = require('botkitify');
然后创建一个新的 Botkit 对象,并对该对象进行配置,该对象将负责与聊天服务互动。
const controller = new Botkit({ webhook_uri: '/api/messages', adapter_config: { appId: process.env.APP_ID, appPassword: process.env.APP_PASSWORD, }, });
在上面的代码中,我们定义了一个名为 controller 的 Botkit 对象,并在 adapter_config 对象中指定了 appId
和 appPassword
参数。
添加处理程序
现在是时候将处理程序添加到聊天机器人中了。我们将会为聊天机器人添加两个处理程序:欢迎信息和帮助文档。
首先让我们添加欢迎信息处理程序。以下代码将向用户发送一条欢迎消息:
controller.on('hello', async(bot, message) => { await bot.say('欢迎使用聊天机器人!'); });
接下来,我们可以添加一个名为 help
的命令处理程序,该处理程序将向用户提供有关可用命令的信息。以下代码会向用户提供帮助文档:
controller.hears('help', 'message', async(bot, message) => { await bot.reply(message, '以下是可用命令的列表:\n1. ping - 测试服务器是否在线\n2. echo [message] - 将消息返回给您'); });
添加预定义命令
现在我们将向聊天机器人添加一些预定义的命令。我们将添加 ping
命令和 echo
命令。以下代码将处理名为 ping
的请求:
controller.hears('ping', 'message', async(bot, message) => { const response = await bot.httpText.get('http://localhost:8080/ping'); bot.reply(message, response); });
注意,在上面的代码中,我们使用 bot.httpText.get
方法调用服务器端点。此方法将向指定的 URL 发送 HTTP GET 请求,然后返回服务器响应。
以下代码将处理名为 echo
的请求:
controller.hears('echo (.*)', 'message', async(bot, message) => { const text = message.match[1]; await bot.reply(message, `您输入的是:${text}`); });
在上面的代码中,我们使用了正则表达式来捕获输入的文本,然后将其包含在返回的响应中。
启动 Botkit
最后,我们需要启动 Botkit 机器人。以下代码将监听来自聊天服务的请求,并将它们路由到与请求相关联的处理程序:
-- -------------------- ---- ------- ------------------------------------------ ----- ---- -- - ------------------------------------ ----- --- ---------- -------- ------ ------------------ -- ---------------------- ---- -- - -- ------- ----- ------ ----- ------------------------------------------------------- ---
在上面的代码中,我们使用了 controller.handleWebhookPayload
方法来处理来自聊天服务的 webhook 请求。最后,我们使用 controller.spawn
方法创建一个新的机器人,该机器人使用我们通过 TOKEN
环境变量提供的访问令牌进行身份验证。
结论
在本文中,我们提供了一个 Botkitfy 的指南,希望您现在能够更加深入地使用 Botkit 来构建聊天机器人。请尝试使用这些示例代码,并自行尝试根据需求进行更改。有关更多详细信息,请查阅官方文档。
Happy Botting!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066c82ccdc64669dde4d40