什么是 roboter
roboer 是一个极其方便和易用的 npm 包,提供了灵活和易定制的机器人框架,鼓励用户快速构建和开发高质量的机器人应用。它支持多种聊天方式如 Slack, Mattermost 和 Facebook Messenger,这也使得它成为了非常流行的机器人开发框架。
安装 roboter
你需要先通过 npm 安装 roboter,可以在终端中输入以下命令:
npm install roboter --save
roboter 示例
你可以按照以下步骤,在你的代码中使用 roboter:
创建一个新目录,并在其中初始化一个 node 项目:
mkdir myapp cd myapp npm init
安装 roboter:
npm install roboter --save
在你的 index.js 中添加以下代码:
-- -------------------- ---- ------- ----- ------- - ------------------- ----- ------- - ---------------------- ---------------- --------- ------------- - ---------------- --------- - -- --------------
启动机器人:
node index.js
使用机器人:
在 Slack 或 Mattermost 等服务中,在机器人名称后输入
hello
,机器人将返回Hello, world!
。
roboter 指南
结构
roboter:roboter 模块的入口点,用于创建机器人实例和注册消息处理。
Robot:机器人类,用于处理来自不同聊天平台上的消息和命令,并组织机器人的行为。
Adapter:机器人适配器类,处理为机器人连接到的聊天平台的所有细节,包括请求和响应转换、事件处理等。
Brain:机器人大脑类,用于机器人存储状态和数据。
Response:响应类,提供一种发送消息的方法,并可以将自定义响应器函数添加到作为自定义响应类型的可用对象。
方法
createRobot([options]):用于创建机器人实例。options 是可选的,允许传入属性,如 Robot 和 Adapter 的选项。
respond(pattern, callback):允许机器人响应单词、正则表达式或字符串数组。
run():启动机器人。
hear(regex, callback):添加一个基于正则表达式的语句,通过 Adapter 接收到消息时已经匹配。
respondTo(name, callback):添加一个命令,在 Adapter 接收到消息时已经匹配。
send(response, varargs...):用于在聊天平台上发送消息。
用例
回复一个文本消息
robot.respond(/how are you/, (res) => { res.send('I’m doing great.'); });
接收一个命令并响应
robot.respondTo('ping', (res) => { res.send('pong'); });
触发一个异步操作并等待响应
robot.respond(/tell me the weather/i, async (res) => { const weather = await getWeather(); res.send(`The weather outside is ${weather.temperature} degrees with ${weather.condition}.`); });
通过学习以上内容,你可以快速使用机器人的基本功能,并开发出自己的机器人应用。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/roboter