如何防止Slack斜杠命令回显到通道?

时间:2017-09-08 19:22:27

标签: node.js slack slack-api serverless-framework

使用Serverless和NodeJS,我有一个Slack命令设置如下:

/myCommand doStuff

当我输入/myCommand doStuff时,Slack输出执行此操作:

  

/myCommand doStuff

     

我想要显示的实际回复的内容就在这里。

我想做的只有这个:

  

我想要显示的实际回复的内容就在这里。

没有/myCommand doStuff得到回应。

如何防止这种情况发生?

更新 - 添加一些代码

这是实际的命令:

module.exports = () => {
  return new Promise(function(fulfill) {
    fulfill({
      response_type: 'in_channel',
      text: 'some testing text
    });
  });
};

这是处理程序:

module.exports.handler = (event, context, callback) => {
  var response = {
    statusCode: 200,
    body: JSON.stringify(myCommand()),
  };

  callback(null, response);
};

1 个答案:

答案 0 :(得分:5)

当您回复

"response_type": "in_channel"

回复对于频道中的所有用户都是可见的,并且它总是将命令复制回频道。这不能关闭。

当您回复

 "response_type": "ephemeral"

只有用户可以看到它,并且不会复制该命令。这也是默认设置,因此您必须在脚本中使用in_channel

有关该主题的官方文档,请参阅here