如何向Slack监听频道发送消息?

时间:2016-01-27 18:16:24

标签: slack-api slack

我正在开发一个松弛的应用程序(范围包括机器人和传入的webhooks)。我可以将消息发送到已定义的频道,但我不知道如何停止使用“& channel =”参数,只是向收听频道发送消息。通过倾听我的意思是,当安装应用程序时,会询问用户在哪里发布(必须选择频道或dm)。

[HttpPost]
    public HttpResponseMessage Post()
    {
        return new HttpResponseMessage()
        {
            Content = new StringContent(
                "<strong>test</strong>",
                Encoding.UTF8,
                "text/html"
            )
        };
    }

任何提示都会有用。

4 个答案:

答案 0 :(得分:8)

我认为你不能:根据official Slack API documentation,无法向所有/多个收听频道发送消息:

  

传入的webhooks输出到默认频道,只能发送   一次发送到单个频道的消息。您可以覆盖自定义   通过指定通道字段来集成配置的通道   你的JSON有效载荷。

我将此解释为&#34;您的邮件总是正好一个频道&#34;

此外,Slack限制 Slack apps

的此频道覆盖功能
  

您无法覆盖默认的用户名,图标或频道   附加到Slack应用程序的传入webhook。

答案 1 :(得分:2)

正如Michael在answer中提到的那样,不可能同时发布到多个频道。你必须浏览它们并做多个请求。

答案 2 :(得分:2)

我认为这里有一点点混乱。我不确定&#34;传入的webhook&#34;范围确实是&#34; bot&#34;范围不能做。这是我看待事物的方式

  • 您想要一个轻量级,低权限的应用程序,该应用程序在一个频道中发布,并且您使用传入的webhook范围
  • 或者您想要一个可以向用户提问的应用,例如他们想要更新哪些频道,处理答案等等。然后您就可以使用bot范围和机器人可以在任何公共频道发布

如果您在想要实现的目标中提供更多细节,我们可能会帮助您更好地

答案 3 :(得分:1)

如果您希望使用更动态的方式将消息发送到任何渠道,我建议使用API​​方法chat.postMessage而不是incoming webhook

API方法可以将消息发布到任何通道(包括专用通道,DM),只要您的令牌可以访问它即可。