Slack 发送带有附件的通知

Slack send notification with attached file

我想发送带有附件的 Slack 通知。这是我当前的代码:

package Message

import (
    "fmt"
    "os"
    "github.com/ashwanthkumar/slack-go-webhook"
)

func Message(message string, cannalul string, attash bool) {
    f, err := os.Open(filename)
    if err != nil {
      return false
    }
    defer f.Close()

    _  = f

    fullName := "myServer"
    webhookUrl := "https://hooks.slack.com/services/......."

    attachment1 := slack.Attachment {}
    //attachment1.AddField(slack.Field { Title: "easySmtp", Value: "EasySmtp" }).AddField(slack.Field { Title: "Status", Value: "Completed" })
    if attash {
        attachment1.AddField(slack.Field { Title: "easySmtp", Value: fullName})
    }
    payload := slack.Payload {
      Text: message,
      Username: "worker",
      Channel: cannalul,
      IconEmoji: ":grin:",
      Attachments: []slack.Attachment{attachment1},
    }
    err := slack.Send(webhookUrl, "", payload)
    if len(err) > 0 {
      fmt.Printf("error: %s\n", err)
    }
}

我的代码有效,但我不知道如何在当前代码中添加附件。我该怎么做?

您无法通过 Slack 中的网络挂接将文件附加到附件。 Slack 中不存在该功能。

如果只是文本,您可以将内容添加为邮件或其他附件的一部分(目前最多 500,000 个字符,很快将减少到 40,000 个 - 请参阅 here 以供参考)。

或者您可以使用 API 方法 files.upload 直接将文件上传到频道。