【问题标题】:How do I prevent my Slack slash command from echoing into the channel?如何防止我的 Slack 斜杠命令回显到频道中?
【发布时间】:2018-02-17 18:46:52
【问题描述】:

使用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);
};

【问题讨论】:

  • 您使用的是哪个计算机提供商?
  • 用于托管的 AWS Lambda

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


【解决方案1】:

当你回复时

"response_type": "in_channel"

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

当你回复时

 "response_type": "ephemeral"

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

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

【讨论】:

  • 嘿,我只想感谢您就该主题发表的所有非常有用的答案!
  • 这很接近 - 我刚刚更新了我的意思的问题。我想通了。
  • 您在回复中使用了什么response_type?此外,如果您发布代码,帮助您解决问题会容易得多。
  • @eln00b 您正在使用ìn_channel response type。正如我在回答中解释的那样,Slack 会自动将斜杠命令回显到通道中。我了解您想要不同的行为,但目前无法关闭此功能。
  • @ErikKalkoken 好的,谢谢。我试图覆盖该默认行为。如果您将其发布为答案,我会接受。
猜你喜欢
  • 2021-03-09
  • 1970-01-01
  • 1970-01-01
  • 2021-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多