问题标签 [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 投票
1 回答
411 浏览

node.js - 如何在 Botkit 消息处理程序中获取原始消息文本(例如电子邮件地址)

在 botkit 我设置message_received或任何其他处理程序。当我收到消息时,它的text属性应该包含用户编写的实际消息。不幸的是,当此消息包含例如电子邮件地址时,我会收到此消息的松弛格式。例子:

用户输入:Hey, send an email to foo@bar.com

botkit给了我:Hey, send an email to <mailto:foo@bar.com|foo@bar.com>

有没有办法以原始形式获取它,或者我应该手动解包?

0 投票
1 回答
2117 浏览

bots - Slack bot - 使用 Botkit 清除旧消息

我正在使用 botkit 开发一个自定义机器人,它将删除旧消息(例如,所有超过一周的消息)。例如,我会在使用 slack 时说“@custombot delete”。我添加到 custombot.js 的新代码是

我一直在研究 Slack 的 API 并试图弄清楚如何构建这个自定义代码。有人能指出我如何做到这一点的方向吗?

我明白代码是沿着

但是,我想针对每个频道中早于某个日期的所有消息。

谢谢你。

0 投票
1 回答
98 浏览

javascript - 忽略 Room 中的 Slack 编辑,但不直接对机器人进行编辑

我有一个使用 botkit 运行的机器人。我想发出一条警告消息,即当您直接与机器人交谈时,编辑的消息将被忽略,所以我正在这样做:

机器人在一个有很多人的房间里,这样这些人就可以私下“访问”机器人。

问题:当有人在房间中编辑消息时,机器人会发送警告。避免这种情况的最佳方法是什么?

我希望避免将房间 ID 硬编码到机器人不应该回复的房间中,因为我们可能在其他房间中有机器人。

0 投票
1 回答
111 浏览

node.js - Slackbot 与 wit.ai 集成的问题

我参考了 beepbophq 教程。他们展示了如何将 slackbot 与 wit.ai 集成以使其更智能。我面临的问题在于 js 文件的代码。wit.hears() 行给了我一个错误,即“听到”方法是没有找到。但是在教程中它被使用了。我已经导入了 witbot 和 botkit 库。请为我提供解决方案谢谢提前

0 投票
0 回答
823 浏览

node.js - Botkit 多次获得响应

我使用 Botkit 和 wit.ai 创建了一个机器人。它运行得很好。但是,经过一段时间后,我开始收到来自机器人的多条消息。在我重新启动 node.js 服务后,它开始正常工作。

这是我写的代码,

我无法弄清楚代码中的问题是什么。这些是错误日志中的一些错误,

以及消息的截图,

在此处输入图像描述

0 投票
1 回答
648 浏览

node.js - 文件上传事件触发松弛 - botkit

我已经在 ubuntu 上安装了 botkit。我已经测试了一些发送/接收消息的示例。它工作正常。我试图在 slack 上触发文件上传事件触发器,我在 botkit 中收到了消息/文件上传触发事件,并且在 node.js 中构造多表单数据时遇到问题。

节点.js

输出:

我们需要帮助'如何构造数据并获取特定于 url_private 属性字段的文件数据以检索我们上传的 url。

0 投票
1 回答
2002 浏览

javascript - 如何使用botkit在某个时间发送消息?

在查看了 Botkit 的文档后,我没有看到机器人在特定时间自行向频道发送消息的方法。我尝试做的是为 .startRTM 函数提供一个回调函数,该函数在某些时候执行我希望它执行的操作,但是调用是异步的,以从另一个 API 检索信息。有没有比把所有东西都放在while(1) {}电话里更好的方法来解决这个问题?如果没有,我怎样才能让 r.getHot 回调成功,因为 JS 在主线程上运行,所以它会跳过回调函数。变量 r 来自 snoowrap 库。

0 投票
0 回答
1234 浏览

slack-api - Slack API 和自定义 Slack 应用程序总是使用 botkit 框架获得无效 oauth

Ì正在解决一个无聊的问题。几天以来,我总是invalid_oauth从松弛的 API 中获取...我正在使用 Botkit 框架,node.js 服务器这是我的调试:

info: ** Starting webserver on port 3000 info: ** Serving webhook endpoints for Slash commands and outgoing webhooks at: http://MY_HOST:3000/slack/receive info: ** Serving login URL: http://MY_HOST:3000/login info: ** Serving oauth return endpoint: http://MY_HOST:3000/oauth info: ** API CALL: https://slack.com/api/rtm.start debug: rtm.start { no_unreads: true, simple_latest: true, token: 'xoxb-81934967667-UOJKkxYnIf0xZJ9cJspwoAOC' } debug: Got response null {"ok":false,"error":"invalid_auth"} Error connecting bot to Slack: invalid_auth

我正在启动应用程序: clientId=xxx.xxx clientSecret=xxx port=3000 node bot.js

我的自定义 slack 应用程序配置了 botkit 调试控制台返回的 oauth 端点,localtunnel 转发到我的本地机器,在应用程序中配置了一个机器人。

有任何想法吗 ?我确定我离解决方案不是很远......

非常感谢您的帮助。

0 投票
1 回答
450 浏览

https - Botkit 和 https 安全端点,证书是强制性的吗?

我正在使用 botkit 框架构建一个自定义的 slack 应用程序,并且我正在尝试在我的 Bot/App 中添加一个交互按钮。

我真的没有抓住一件事,因为 botkit 框架提供了一种方法来拥有一个 webhook 条目和设置的服务器来接收 oauth 请求和 slack 对交互式按钮回调的请求,确实有一个带有 Https、证书和所有这些东西的安全服务器在点击交互式按钮后,slack 的 API 必须在我的服务器上执行 POST 请求吗?

0 投票
1 回答
458 浏览

heroku - Is there a way to wake up the application when a user sends a message and it's idle on heroku?

I'm have a bot running on heroku within a free tier, and I'm looking for a way to wake the application when a message is received from the user in Slack.

I have a web worker in my Procfile:

I also setup a webserver and botkit:

The bot goes up as normal, and goes idle after 30~ minutes of inactivity

Now, if I send a message to the bot in slack, it won't respond anymore and the application won't wake up unless I send a request to the webserver.

I don't want to prevent the bot from idling as it would consume my dyno hours, is there a way I can wake up the app when a user sends a message to the bot through slack?