前言
在 chatbot 项目中,chatfuel 是一个常用的平台。通过它,我们可以轻松地创建一个基于 Messenger 的 chatbot,并快速进行开发和部署。而 chatfuel-node-api 这个 npm 包,使得我们在开发 chatfuel chatbot 时更加方便、快捷,本文为大家介绍此包的使用方法。
安装
在项目中使用 npm 或 yarn 安装 chatfuel-node-api 包即可:
npm i chatfuel-node-api // or yarn add chatfuel-node-api
开始使用
使用 chatfuel-node-api 包前,您需要了解以下概念。
ChatFuel 的栏目和区块
在 ChatFuel 中,栏目
是您 chatbot 中内容的分类方式。例如,您可以创建一个 Greeting
栏目,用于存放欢迎信息。区块
则是您 chatbot 的基本元素。您可以在 ChatFuel 中创建文本、图片、音频、视频等各种类型的区块。
JSON API 与插件 API
ChatFuel 具有 JSON API 和插件 API,您可以使用它们来与您的 chatbot 进行交互。JSON API 可以处理包含请求和响应的 HTTP GET 和 POST 请求。插件 API 是处理 HTTP POST 请求的 JavaScript 插件。
具体地说,chatfuel-node-api 包支持以下 API:
- JSON API:从 chatfuel-node-api 包中获取 JSON API 方法,您可以使用它发送 HTTP POST 请求,并在响应中接收 JSON 数据。
- 插件 API:插件 API 可用于构建 ChatFuel 插件,这些插件可以选择性地向 chatbot 返回一个或多个区块。
基本用法
- 导入 chatfuel-node-api:
const { ChatFuel } = require('chatfuel-node-api');
- 创建 ChatFuel 实例:
const chatfuel = new ChatFuel();
发送 HTTP POST 请求
chatfuel-node-api 包使得发送 HTTP POST 请求变得简单,您可以使用以下方法:
chatfuel.json({ userId: 'my_user_id' }, 'https://chatfuel-json-api-url.com');
在 ChatFuel 中设置区块
使用以下方法让 chatbot 返回指定区块的 JSON 数据:
const blockToSend = 'block_name'; const chatfuelMessage = chatfuel.sendBlock(blockToSend, {userAttribute: "value"}, { chatfuel_attribute: "value" });
在 ChatFuel 中发送消息
使用以下方法在 ChatFuel 中发送消息:
const message = '你好世界!'; chatfuel.sendText(message);
当然,您可以设置其他参数,例如:
chatfuel.sendImage('http://url-to-image.com/img.jpg', '', '', true, 'Media ID');
示例代码
下面是一个从 ChatFuel 返回特定区块的简单示例:
-- -------------------- ---- ------- ----- - -------- - - ----------------------------- ----- -------- - --- ----------- ----- ----- - ---------- --------- ---------- -------------------- -- - ----- ------- - ------------------------------------- - -------------- ------ -- - --------------- ---------------------- --- ---------------------- ------------------------------ -- -- ---- ---- -- ---
总结
文章介绍了 chatfuel-node-api
这个 npm 包的基本使用方法。通过该包,您可以轻松地在 chatbot 中发送各种类型的消息、访问 JSON API 并从 ChatFuel 返回特定的区块。希望这篇文章对您有所帮助,可以在自己的项目中使用 chatfuel-node-api 包。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005630081e8991b448e0d42