Coalesce Matrix message into one

This commit is contained in:
Locria Cyber 2023-10-07 08:50:48 +00:00
parent afd0da0297
commit e45bf3586f
Signed by: iacore
GPG key ID: F8C16E5157A63006

20
main.go
View file

@ -3,7 +3,6 @@ package main
import (
"context"
"embed"
"errors"
"fmt"
"io/fs"
"log"
@ -224,18 +223,19 @@ func routineCheck(timeout time.Duration, doNotify bool) error {
}
func notify(updates []scanner.ServiceStatus) error {
final_err := error(nil)
message := "```\n"
for _, v := range updates {
statusString := "???"
var upOrDown string
if v.Ok {
statusString = "up"
upOrDown = "UP"
} else {
statusString = "down"
upOrDown = "DOWN"
}
_, err := client.SendNotice(fmt.Sprintf("%s is %s!", v.Name, statusString))
final_err = errors.Join(final_err, err)
serviceType := fmt.Sprintf("[%s]", v.Type)
message += fmt.Sprintf("%-4s | %-24s %-7s %s\n", upOrDown, v.Name, serviceType, v.Status)
}
log.Printf("notify: err=%v\n%v", final_err, updates)
return final_err
message += "```\n"
_, err := client.SendNotice(message)
log.Printf("notify: err=%v\n%v", err, updates)
return err
}