Slack bot在第一次对话后无法与其他用户通信

时间:2018-02-19 18:44:02

标签: node.js slack slack-api

我创建了一个在我的机器上正常工作的slack bot,我在slack bot中创建了提示,当用户点击提示时,对话框(一种松弛形式)打开。提交对话框后,会出现另一个提示和相应的对话框。我附上了整个过程的GIF。

My Flow

我的问题是,当我的懒散工作区中的另一个用户尝试与松弛的机器人进行通信时,他会成为一个导师形式但是一旦他提交了该表格,他就没有得到第二个提示,他可以在那里添加主题。我试图在我的机器上以及在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/tree/master/botProject/src

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

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