如何防止我的 Slack 斜杠命令回显到频道中?

How do I prevent my Slack slash command from echoing into the channel?

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

/myCommand doStuff

当我输入 /myCommand doStuff 时,Slack 的输出是这样的:

/myCommand doStuff

The content of the actual response I want shown goes here.

我想做的只有这个:

The content of the actual response I want shown goes here.

没有 /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);
};

当您回复

"response_type": "in_channel"

回复对频道中的所有用户可见,并且它始终会将命令复制回频道。这无法关闭。

当您回复

 "response_type": "ephemeral"

只对用户可见,命令不会被复制回来。这也是默认设置,因此您必须在脚本中使用 in_channel

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