问题标签 [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.

0 投票
0 回答
178 浏览

amazon-ec2 - 如何在 ec2 上托管 botkit 机器人/应用程序?

这里有没有人在 ec2 实例上托管了一个 botkit 应用程序?如果是,你能告诉我怎么做吗?我看到了在故障/heroku 上托管它的选项,但我想在 ec2 上托管它。

0 投票
1 回答
6288 浏览

apache - 无效的命令“PassengerAppRoot”,可能拼写错误或由未包含在服务器配置中的模块定义

我已经按照在 Linux/Unix 生产服务器上为 Node.js 应用程序 + Red Hat 6 / CentOS 6 (with RPM) 安装Passenger + Apache 中给出的每个安装步骤进行安装,一切正常,但是当我尝试在虚拟主机中配置我的子域时在使用 WHM 托管我的 botkit 机器人的 centos 6 服务器上,我收到此错误:

“/usr/local/apache/bin/httpd”命令(进程 27088)结束时报告错误号 1。在文件 /usr/local/apache/conf/includes/post_virtualhost_2.conf.tmp 的第 9 行检测到配置问题:无效命令“PassengerAppRoot”,可能拼写错误或由服务器配置中未包含的模块定义 --- /usr/ local/apache/conf/includes/post_virtualhost_2.conf.tmp --- 3 ServerAlias subdomain.mydomain.com 4 ServerAdmin adminserver@mydomain.com 5 6 7 # 告诉Apache和Passenger你的应用程序的代码目录在哪里 8 DocumentRoot /var/www /MyApp/Code/public 9 ===> PassengerAppRoot /var/www/MyApp/Code <=== 10 #Error logging 11 ErrorLog logs/subdomain-error_log 12 CustomLog logs/subdomain-access_log common 13 14 # 告诉乘客你的app 是一个节点。

这是我的配置:

我试图删除配置并通过 .htaccess 传递:

但它仍然无法正常工作。我最近检查并在验证乘客时收到以下消息:

问题是我不知道卸载 /usr/local/rvm/gems/ruby-2.4.1/bin/passenger 的步骤是什么。

0 投票
1 回答
148 浏览

javascript - Botkit Slack Bot 不听新的 js 文件(托管在 azure 上)

我们在 azure 上托管了一个 botkit 机器人,遵循他们的指导方针并从这里克隆到 repo:https ://github.com/howdyai/botkit-starter-slack

然后,我尝试在技能文件夹中添加一个新的 js 文件,如下所示:

机器人与我们的松弛通道正确通信,我们可以键入基本的、已包含的命令并获得响应。但是,当我键入“新事件”以尝试访问我刚刚制作的这个新脚本时,什么也没有发生。

在 azure 上本地托管 botkit 机器人时,我没有找到关于如何添加新技能脚本的很好的文档,以便 slack 机器人拾取它们......我什至尝试包装以上所有内容(减去 var Botkit 和 var 控制器线) 在 module.exports = function(controller) 中,但仍然没有响应。

任何人都可以就我如何在技能文件夹中的新 js 文件中进行自定义对话并让我已经连接的 slack 机器人实际监听它提供一些指导吗?

0 投票
1 回答
271 浏览

node.js - 使用 botkit、expressjs 的 Slack 交互式按钮配置和工作流程?

我想知道 slack 中的交互式按钮如何在 botkit 的帮助下工作,任何人都展示了一个具有上述组合的简单示例,这对我更有帮助。

0 投票
1 回答
72 浏览

node.js - 在 AWS 上使用 Botkit 的 Messenger 机器人:“bodyParser 未定义”错误

我在 AWS 上设置了一个 Bitnami Node.JS 实例。安装了默认的 Botkit。更新了依赖项。使用 Messenger 集成设置基本的 Facebook 页面/应用程序。尝试运行默认的 Messenger 机器人示例 (Facebook_bot.js)。

运行机器人在加载时会出现以下错误:

由于这一切都是开箱即用并使用示例 Messenger 机器人,这是 BotKit 源的问题吗?还是我设法弄乱了这里涉及的最小设置?

0 投票
1 回答
397 浏览

slack - 未找到 watson-developer-cloud botkit-middleware 资源

我是机器人世界的新手。我正在尝试使用 botkit 中间件将在 IBM Watson 上创建的对话服务与 Slack Bot 集成。我只是从 Git ( Botkit Slack Integration获取代码,并尝试使用它来回答来自我的 Watson Conversation 服务的 Slack 查询。但是,在收到松弛消息后,API 返回以下错误。没有太多关于如何处理互联网上的这些错误。有人可以帮我吗?

`> 节点 simple-bot-slack.js

信息:** 未指定持久存储方法!进程关闭时数据可能会丢失。信息:**设置自定义处理程序以处理 Slack 消息信息:** API CALL:https ://slack.com/api/rtm.start 客户端服务器侦听端口 5000 通知:** BOT ID:jarvis ...正在尝试连接到 RTM!通知:RTM websocket 打开信息:收到 Slack 消息 { 类型:'消息',频道:'C72GK14JD',
用户:'U72VDTC2F',文本:'Hi',ts:'1505453454.000117',
source_team:'T733VG8DS',团队:' T733VG8DS',事件:'direct_mention',匹配:['Hi',索引:0,输入:'Hi'],
watsonError: { 错误:在 Request._callback 处找不到资源 (D:\node\wrath\botkit-middleware-master\examples\simple-bot\node_modules\watson-developer-cloud\lib\requestwrapper.js:88:1 5 ) 在 Request.self.callback (D:\node\wrath\botkit-middleware-master\examples\simple-bot\node_modules\request\request.js:188:22) 在 emitTwo (events.js:106:13)在 Request.emit (events.js:191:7) 在请求。(D:\node\wrath\botkit-middleware-master\examples\simple-bot\node_modules\request\request.js:1171:10) 在 emitOne (events.js:96:13) 在 Request.emit (events.emit) js:188:7) 在 Gunzip。(D:\node\wrath\botkit-middleware-master\examples\simple-bot\node_modules\request\request.js:1091:12) 在 Gunzip.g (events.js:292:16) 在 emitNone (events. js:91:20) 在 Gunzip.emit (events.js: 185:7) 在 endReadableNT (_stream_readable.js:974:12) 在 _combinedTickCallback (internal/process/next_tick.js:80:11) 在 process._tickCallback (internal/process/next_tick.js:104:9) 原因:{错误:在 Request._callback (D:\node\wrath\botkit-middleware-master\examples\simple-bot\node_modules\watson-developer-cloud\lib\requestwrapper.js:8 8:15) 处找不到资源.self.callback (D:\node\wrath\botkit-middleware-master\examples\simple-bot\node_modules\request\request.js:188:22) 在 emitTwo (events.js:106:13) 在请求。在请求时发出 (events.js:191:7)。(D:\node\wrath\botkit-middleware-master\examples\simple-bot\node_modules\request\request.js:1171:10) 在 emitOne (events.js:96:13) 在 Request.emit (events.emit) js:188: 7)在Gunzip。(D:\node\wrath\botkit-middleware-master\examples\simple-bot\node_modules\request\request.js:1091:12) 在 Gunzip.g (events.js:292:16) 在 emitNone (events. js:91:20) 在 Gunzip.emit (events.js:185:7) 在 endReadableNT (_stream_readable.js:974:12) 在 _combinedTickCallback (internal/process/next_tick.js:80:11) 在 process._tickCallback ( internal/process/next_tick.js:104:9) 代码:未定义,错误:'找不到资源'},isOperational:真,代码:未定义,错误:'找不到资源'}}

`

0 投票
0 回答
249 浏览

bots - 启动 RTM 连接时,Botkit Slackbot 返回错误“not_authed”

我有一个 2017 年 1 月至 3 月编写的 slack 机器人。但是,当我使用相同的代码创建一个新机器人并启动它时,我收到错误“not_authed”。

我已经调试了这个问题并且我的令牌很好(即,如果我使用我的令牌作为正文参数进行https://slack.com/api/rtm.connect POST 调用,它工作正常并且我得到一个结果)。它似乎只是似乎不起作用的 bot.startRTM 方法。

我的代码在底部:

有任何想法吗?

0 投票
1 回答
5292 浏览

javascript - 递归新承诺:RangeError:超出最大调用堆栈大小

我收到 RangeError:超出最大调用堆栈大小

我遇到的困境是,每当我运行它时,它并不总是立即解决用户对象的所有属性和值,这就是为什么如果不存在controller.storage.users.get我尝试再次运行它的原因。orderData.pendingItem

但是,我猜是因为它运行了很多次,所以它给了我一个调用堆栈错误。

解决此问题或解决此问题的最佳方法是什么?

0 投票
2 回答
1464 浏览

node.js - Update a bot message after responding to a slack dialog

I'm having some issues to update an interactive message after responding to a slack dialog. I'm using botkit on a node.js server.

Here is my workflow:

  1. User trigger an interactive message via a slash command
  2. User click a button on that message
  3. A dialog pops up, user fill the form and validate
  4. Something is done on the server side
  5. The first message should update

Now, here is the logic I'm using:

  1. User trigger an interactive message via a slash command

Nothing fancy, I use:

Then I parse the command, and send the appropriate message, with the appropriate attachments (buttons)

  1. User click a button on that message

Same, I use the event sent by botkit:

Then I create a dialog:

Here I'm doing something really (really) dirty, and should not be done. But that's the only way I found to update the initial message after the dialog is filled. The callback_id actually contains an object, with the response_urlof the initial message (and something to identify the form).

  1. A dialog pops up, user fill the form and validate
  2. Something is done on the server side

Here, I use once more the event provided by botkit:

then I parse the message.submission.callback_id and detect the response_url. With this, I can create an object I call originalMessage.

  1. The first message should update

At the moment I use :

with originalMessagecontaining the response_url of the first message. It does work. The first message is being replaced by the new one.

But I'm really not happy with that solution, and was wondering if I was missing something somewhere. I've seen couple apps having that type of workflow, so there must be a way.

Thank you for your help :)

0 投票
1 回答
185 浏览

facebook - 如果故事被弃用,假设我如何使用 wit.ai?

我正在使用这个工作流 Glitch Hosting -> BotKit Studio API -> Facebook API -> Wit.AI API 开发一个机器人。现在 Wit.ai 与我的机器人一起工作,当我检查 de Logs 控制台(在 wit.ai 中)显示已通过 messenger 发送的消息时,但我不明白如何使用 wit.ai 来分析用户的消息和然后发送响应。