一些机器人所需要经历的有盈余的活动量有限,而机器人只有在存在活动时才能够留在线并能够处理请求。@tradle/bot-keep-fresh 是一个 npm 包,它利用聊天室集成以及用户动态留存活动并维护机器人在线状态。
1. 安装 @tradle/bot-keep-fresh
你可以通过 npm 包管理器在命令行(终端)中安装 @tradle/bot-keep-fresh:
npm install @tradle/bot-keep-fresh
2. 集成 bot-keep-fresh
你需要考虑如何在你的机器人应用中使用@tradle/bot-keep-fresh,在以下的示例中我们使用 Hubot 机器人框架解释如何实现这一过程。下同。
首先,安装 @tradle/bot-keep-fresh 清单的同时还要安装以下的 peer处理程序(peer dependencies):
npm install hubot npm install hubot-slack npm install @slack/client
在 bot 生成器中使用 @tradle/bot-keep-fresh 模块的模板,设置 Slack token,hubot的名字和工作目录后,请将以下的代码粘贴到 hubot-scripts.js 文件中:
-- -------------------- ---- ------- ---------------------------------- -- ------- ---------- ----- ------------- -------------- - -------------------- --- --------- - ---------------------------------- -------------- - -------- ------- - -------------------------------- -------- -------- -- - ----------------- ---------------------- ----- ------- --- -- ------ ------ -------- --------------------- -------- ----- - ------ ----------------- --- ---------------- - ------ ---------------------------- --------- ------------------------------------------ -------- -- - -- - ----- --------- - - -- - ----- -- -------------- -- - ---------------------- ---------- -- ---------- ----------------------- -------- ---- ------------------------------ ------------ ---------------------------- ---- ---------------- -- --------------- ----- - ------------------------------ -------- ------------ ----------- --- --
这将设置 Keep-fresh 并在 Unix 环境下使其运行。需要在环境中设置 SLACK_BOT_TOKEN 和 SLACK_BOT_CHANNELS 两个环境变量。
3. 基本使用
使用 @tradle/bot-keep-fresh 的通用方式并不是特别复杂:机器人发送消息的数量最好大于掉线时间,就像上述示例中使用的一样。如果你的机器人应用不太活跃,你可以从 Keep-fresh 模块导入“keepActive”函数,在应用的其他关键区域中使用该函数以保持机器在线。
-- -------------------- ---- ------- ----- - ---------- - - ---------------------------------- -------------- - ----- -- - ------------------------------ -------------------- -- - ----------------- --------- ------------- -- - - -- - ------ --
参考文献
- @tradle/bot-keep-fresh: 保持聊天室机器人始终在线
- Hubot入门指南
- npm 包管理器
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055b7b81e8991b448d9005