slack bot 运行时偶尔会停止工作

slack bot 运行时偶尔会停止工作

我正在关注 heroku 的帖子包括此特定部分。如果我做了一个 noop 更改并且正在运行新的部署,机器人会做出响应。但过了一段时间,我看到机器人停止响应:

  • heroku 仪表板没有显示任何异常(没有显示它正在休眠)
  • 应用网页加载https://yourappname.herokuapp.com(不是来自缓存)
  • 日志显示没有错误

这是否可能是 starbot 代码未维持开放连接的问题?我该如何诊断这个问题?

答案1

你使用的是原版 starbot 吗?没有其他修改?你的问题不清楚。

以下是一些可能的解决方案(无特定顺序):

1)尝试在本地运行starbot并查看它是否保持开放的连接。

2) 尝试在 VPS 或其他托管平台上运行 starbot,看看它是否保持开放的连接。

3)starbot 用途Slack JS作为处理底层 Slack 连接的库。它使用的是相当旧的版本(根据包文件.json)。这可能是原因。(当前版本为 11.0.2。)您可以尝试运行具有更新依赖项的 starbot 的分叉版本,尽管这可能会破坏代码。

4)基于上一点,rtm.client 看起来不再是官方 API 的一部分了。另一方面,我在 GitHub 上查看了另外两个实现此库的随机项目(复古机器人完成),这两个似乎都使用了语法rtm.client,因此如果不对该库进行更多研究,我无法判断。您可以尝试在 GitHub 上找到一个包含已编写的机器人的存储库,该机器人使用该库的最新版本,以查看它的外观/工作原理。

5)您可以编写自己的机器人,直接利用 Slack JS 库。

6)你可以编写自己的机器人,利用NodeJS 的官方 Slack SDK而不是非官方的 SlackJS。

相关内容