func (c *Client) Send(entry model.NotifEntry) error {
	hc := http.Client{
		Timeout: time.Duration(10) * time.Second,
	}
	message, err := msg.New(msg.Options{
		Meta:         c.meta,
		Entry:        entry,
		TemplateBody: c.cfg.TemplateBody,
	})
	if err != nil {
		return err
	}
	_, body, err := message.RenderMarkdown()
	if err != nil {
		return err
	}
	themeColor := "68CA00"
	if entry.Status == model.ImageStatusUpdate {
		themeColor = "0076D7"
	}
	var facts []Fact
	if *c.cfg.RenderFacts {
		facts = []Fact{
			{"Hostname", c.meta.Hostname},
			{"Provider", entry.Provider},
			{"Created", entry.Manifest.Created.Format("Jan 02, 2006 15:04:05 UTC")},
			{"Digest", entry.Manifest.Digest.String()},
			{"Platform", entry.Manifest.Platform},
		}
	}
	jsonBody, err := json.Marshal(struct {
		Type       string     `json:"@type"`
		Context    string     `json:"@context"`
		ThemeColor string     `json:"themeColor"`
		Summary    string     `json:"summary"`
		Sections   []Sections `json:"sections"`
	}{
		Type:       "MessageCard",
		Context:    "https://schema.org/extensions",
		ThemeColor: themeColor,
		Summary:    string(body),
		Sections: []Sections{
			{
				ActivityTitle:    string(body),
				ActivitySubtitle: fmt.Sprintf("%s © %d %s %s", c.meta.Author, time.Now().Year(), c.meta.Name, c.meta.Version),
				Facts:            facts,
			},
		},
	})
	if err != nil {
		return err
	}
	req, err := http.NewRequest("POST", c.cfg.WebhookURL, bytes.NewBuffer(jsonBody))
	if err != nil {
		return err
	}
	req.Header.Add("Content-Type", "application/json")
	req.Header.Set("User-Agent", c.meta.UserAgent)
	_, err = hc.Do(req)
	return err
}
Send creates and sends a webhook notification with an entry
package teams
import (
	"bytes"
	"encoding/json"
	"fmt"
	"net/http"
	"time"
	"github.com/crazy-max/diun/v4/internal/model"
	"github.com/crazy-max/diun/v4/internal/msg"
	"github.com/crazy-max/diun/v4/internal/notif/notifier"
)
type Client struct {
	*notifier.Notifier
	cfg  *model.NotifTeams
	meta model.Meta
}
func New(config *model.NotifTeams, meta model.Meta) notifier.Notifier {
	return notifier.Notifier{
		Handler: &Client{
			cfg:  config,
			meta: meta,
		},
	}
}
func (c *Client) Name() string {
	return "teams"
}
type Sections struct {
	ActivityTitle    string `json:"activityTitle"`
	ActivitySubtitle string `json:"activitySubtitle"`
	Facts            []Fact `json:"facts"`
}
type Fact struct {
	Name  string `json:"Name"`
	Value string `json:"Value"`
}