Update matrix info

This commit is contained in:
idanoo 2023-01-30 11:26:10 +13:00
parent ecfe777efa
commit b3c829c381
Signed by: idanoo
GPG key ID: 387387CDBC02F132
7 changed files with 103 additions and 4 deletions

View file

@ -0,0 +1,60 @@
package gomastodonstats
import (
"bytes"
"encoding/json"
"fmt"
"log"
"net/http"
)
type MatrixWebhook struct {
Body string `json:"body"`
Key string `json:"key"`
}
func sendToMatrix(m []metric) {
startOfDay := getStartofDay()
msg := fmt.Sprintf(
"*User stats for %d:*\n\n",
startOfDay,
getPrintableString(m),
)
err := sendMatrixWebhook(msg, MATRIX_WEBHOOK_CHANNEL)
if err != nil {
log.Print(err)
}
}
// sendMatrixWebhook - takes msg, sends to matrix
func sendMatrixWebhook(msgText string, channel string) error {
// log.Println(msgText)
data := MatrixWebhook{
Key: MATRIX_WEBHOOK_API_KEY,
}
data.Body = msgText
b, err := json.Marshal(data)
if err != nil {
return err
}
req, err := http.NewRequest("POST", MATRIX_WEBHOOK_URL+"/"+channel, bytes.NewBuffer(b))
if err != nil {
return err
}
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
log.Print(err)
return nil
}
defer resp.Body.Close()
return nil
}