问题标签 [botkit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - IBM 云功能与 Watson Conversation
这是我使用 Watson Conversation 的第一个项目。我的对话正常,所有 nodejs 都托管在 IBM Cloud 上。当我与 Facebook 和 Slack 集成时,对话的一部分不起作用——调用 IBM 云功能的部分。有趣的是,它可以在 Watson 内部和网站集成上运行,但在其他任何地方都没有。我已经尝试过 botkit 中间件,然后是对话连接器(https://github.com/watson-developer-cloud/conversation-connector)。在这两种情况下,都会返回上下文变量的名称而不是值。流程基本上是用户询问他们可以在哪里投票?Watson 提示输入数字,将其保存为对象 NRN,将其传递给云函数并定义结果变量 context.PollingStation。在子节点中,如果使用 $PollingStation.msg 进行注册,我会返回此人的信息,因为我的函数解析 {msg:output}。
Watson 对话:变量的正确输出 网站:变量的正确输出,格式为 Slack/Facebook:变量名称
帮助!
node.js - slackbot 在 HA 上运行时回复重复消息
我开发了一个 slack 机器人(它是我现有的 node.js 应用程序的一部分),它在我的开发环境中运行良好。
但是,一旦我在应用程序的暂存实例上部署了它,它就开始用重复的消息响应我。
我的登台服务器(example.com)由 2 台 HA 机器组成,代码部署在两台机器上。所以我dobut,因为机器人在两台机器上都运行,它给了我重复的回复。
谁能告诉我如何让机器人从任一服务器回复。或者让机器人只回复一次。
我希望我的问题很清楚,如果您需要任何 mroe 信息,请告诉我。
bots - 就对话流而言,rasa core 和 botkit 框架有什么区别?
我正在使用 rasa 学习机器人开发。我在其中采用了简单的银行系统用例。以下是短流程:
假设用户问“我想申请贷款”,所以我可以分类意图并提取实体并相应地回复用户。但是如果用户说“Axis Bank”,我应该如何跟踪他回答为“Axis Bank”的哪个问题以及我的下一个问题或答案是什么?
我搜索了“如何跟踪对话状态?”
我遇到了 [ https://github.com/RasaHQ/rasa_nlu/issues/303][1]这个链接 他们提到
我认为这不应该是 RASA 目标的一部分 IMO:NLU 本身就是一个非常庞大且复杂的话题。但是您可以为此使用特定的框架,例如 botkit。
但是在 rasa-core 中有一个插槽选项(在对话期间要跟踪的信息(例如用户年龄))
在下面的链接中提到 Rasa core 和 Rasa nlu 之间的区别
Rasa 核心用于指导对话流程,而 Rasa nlu 用于理解和处理文本以提取信息(实体)
有人可以帮助我理解rasa-core 和 botkit在对话流程方面的区别吗?
node.js - 如何在 nodejs 应用程序的任何地方使用 botkit 构建聊天机器人?
我正在尝试在任何地方使用 botkit 和 nodejs 构建一个聊天机器人。我不想使用任何第三方消息传递平台。我参考此链接https://github.com/howdyai/botkit#build-your-bot并尝试在 nodejs 应用程序中设置聊天机器人:
首先,将其添加到您的项目中:
npm install --save botkit
然后,将 Botkit 添加到您的应用程序代码中:
var Botkit = 需要('botkit');
var controller = Botkit.anywhere(配置);
controller.hears('hello','direct_message', function(bot, message) { bot.reply(message,'你好!'); });
但是他们没有提到如何调用以及在现有应用程序中调用此代码的位置。
node.js - 带有 Slack 客户端 ID 的 Node.js nforce 连接错误
我正在创建一个 Slack-Salesforce 聊天机器人,我目前正在使用 node.js 和 nforce 来实现这一点。
我有以下用于连接到 Salesforce 的代码片段:
invalid_client_id - client identifier invalid
但是,当我调用登录方法时收到错误消息。客户端 ID 是我通过聊天机器人安装时 Slack 提供的 ID,所以我不确定它为什么不起作用。如果有人可以帮助我解决这个问题,那就太好了。谢谢。
slack - 创建松弛消息并在发送前进行编辑
我已经使用 Botkit 创建了一个机器人,并且正在创建一个交互式消息。我想要做的是当用户单击交互式消息中的按钮时,将创建一条新消息,从原始交互式消息中提取 som 信息,但不会发送。在选择发送之前,我需要继续编辑邮件。有人知道这是否可能吗?我一直在谷歌搜索和搜索 slack 的文档和 botkit 的文档,但一直没有找到答案。
docker - 为什么 docker 容器以代码 0 退出?
我目前正在尝试使用 Botkit 框架创建一个 Messenger Bot !
由于我在不同的计算机上工作,我想使用 docker 来防止任何本地配置问题。
不幸的是,我是 botkit 和 docker 的新手。
文件结构
码头工人-compose.yml
docker/botkit/Dockerfile
码头工人/节点/Dockerfile
重现错误的步骤
当我跑
我有
然后我做
我明白了
如果我跑
我明白了
日志
我跑了
我明白了
我不明白为什么 docker 找不到我的 package.json 文件,因为通过运行 docker-compose build 和 up 它确实创建了文件。我想退出代码 0 问题来自这里,但我真的不明白为什么。也许我对 docker 的实际工作方式缺乏一些基本的了解。
我搜索了有关退出代码 0 的其他问题,但没有一个答案有帮助。
最后,我只想在我的应用程序容器上运行 bash 以开始构建我的机器人。
感谢您的进一步帮助!
slack - Slack API:跟踪文件处理和批量上传、file_created vs file_shared 事件
我有一个使用 botkit 构建的 slack bot,它正在侦听某个频道中用户上传的文件。我正在尝试处理同时上传的多个图像,以便让我的机器人等待所有图像都被处理,然后再继续响应每个图像。
我的应用程序设置为侦听 file_shared、file_created 和 file_public 事件,但是我只看到 file_shared 被文件上传触发。我想file_created 会在file_shared 之前触发,但似乎并非如此。
在收听这些事件时,我只会得到“共享!!” 但不是“公开的!” 或“创造!” 在文件上传时,共享仅在文件处理完毕后触发。此外,我的中间件在文件上传时捕获了两条收到的消息,一条只有文件 ID,一条带有完整的文件信息。这会很有帮助,但它通常首先打印完整对象,然后打印 ID,而不是指示处理图像的唯一 ID 对象。
此输出的示例如下:
我正在寻找一种方法
a) 跟踪一次上传了多少文件或
b) 跟踪 Slack 何时处理文件以等待其完成。
非常感谢任何资源或想法!
javascript - 未找到名称为“未定义”Botkit + rasa_NLU 的项目
我正在尝试在 Slack 上部署一个我用 rasa_nlu 开发的聊天机器人,我可以通过在 Ubuntu shell 上启动 python 脚本在我的计算机上本地运行。所以我正在尝试使用botkit。
我正在尝试遵循本教程:
https://github.com/sohlex/botkit-rasa
我已经设法连接到 Slack(基本上我在 Slack 上创建的机器人显示为在线)。现在,当我与机器人交谈时,我在 Ubuntu shell 上收到以下错误消息:
我想这都是关于我在哪里(在哪个文件夹中)输入命令(或者我作为项目路径输入的内容):
你对此有什么见解吗?
感谢您的帮助,
最好的,
jira - 如何通过 BOT 登录 jira?
设想 :
我使用 botkit 创建了一个 BOT(可通过 Internet 访问),它拦截来自 CISCO SPARK 的命令并在 JIRA(本地)上执行这些命令。JIRA 服务器配置了 LDAP 登录。
问题 :
我不想使用 BOT 帐户访问或登录 JIRA 服务器。我想使用用户的 ldap 凭据从 spark-> bot -> JIRA 传递以使用用户凭据运行 jira 命令。