Slack 机器人在与其他用户进行首次对话后无法进行通信

Slack bot not able to communicate after first dialog for other users

我创建了一个可以在我的机器上正常工作的 slack 机器人,我在 slack 机器人中创建了提示,当用户单击提示时,对话框(slack 中的一种表单)打开。提交对话框后,会出现另一个提示和相应的对话框。附上整个过程的动图

我的问题是,当我的 slack 工作区中的另一个用户尝试与 slack 机器人通信时,他获得了成为导师的表格,但是一旦他提交了该表格,他就没有得到可以添加主题的第二个提示。我已尝试在我的机器上以及在 heroku 上的远程机器上托管该应用程序,但问题仍然存在。

打开对话框的代码是:

const axios = require('axios');
const debug = require('debug')('botProject:src/slack_bot');
const qs = require('querystring');

module.exports = {
  open_dialog: function(dialog,res) {
    axios.post('https://slack.com/api/dialog.open', qs.stringify(dialog))
      .then((result) => {
        debug('dialog.open: %o', result.data);
        console.log("Dialog Opened sucessful");
        res.send('');
      }).catch((err) => {
        debug('dialog.open call failed: %o', err);
        res.sendStatus(500);
      });
  }
}

对于任何其他代码,您可以访问我们的 github 源代码:https://github.com/rikenshah/WolfTutor

如有任何帮助,我们将不胜感激。

经过 2 天的努力,我找到了解决此问题的方法。在发送回复时我发送了 slack 验证令牌并且该令牌是针对该特定用户的,因此当创建该应用程序的人发出请求时他得到了回复,但是当其他人这样做时 slack 未能验证他并做了甚至不给出任何错误。 现在为了解决这个问题,我正在通过机器人用户而不是特定用户来验证请求,这解决了我的问题。