From f63e04f7b0a5700f83db794cdbc9f5fc0e5df210 Mon Sep 17 00:00:00 2001 From: jbergner Date: Sat, 2 Aug 2025 19:02:25 +0200 Subject: [PATCH] =?UTF-8?q?Discord-Push=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.go | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/main.go b/main.go index 73d4ae9..a7fd967 100644 --- a/main.go +++ b/main.go @@ -458,6 +458,20 @@ func main() { wareStr := strings.Join(ware, ", ") zeitaufwand, _ := strconv.ParseFloat(r.FormValue("zeitaufwand"), 64) + e := Entry{ + Anfangsbestand: anfang, + Endbestand: ende, + Prozentwert: prozent, + Abgabe: abgabe, + Startort: startort, + Zielort: zielort, + Schiff: schiff, + Ware: wareStr, + Zeitaufwand: zeitaufwand, + } + + go sendDiscordWebhook(e) + _, err := db.Exec(`INSERT INTO eintraege (anfangsbestand, endbestand, prozentwert, abgabe, created_at, startort, zielort, schiff, ware, zeitaufwand) VALUES (?, ?, ?, ?, datetime('now'), ?, ?, ?, ?, ?)`, anfang, ende, prozent, abgabe, startort, zielort, schiff, wareStr, zeitaufwand) if err != nil { http.Error(w, "Fehler beim Einfügen", http.StatusInternalServerError) @@ -694,6 +708,40 @@ type CachedData struct { var cache CachedData var cacheMutex sync.RWMutex +var discordWebhook = GetENV("DISCORD_WEBHOOK_URL", "") + +func sendDiscordWebhook(entry Entry) { + if discordWebhook == "" { + return + } + + message := fmt.Sprintf( + "📦 **Neuer Abgabe-Eintrag**\n"+ + "**UEC:** %s → %s (%s UEC Profit)\n"+ + "**Abgabe:** %s UEC (%s%%)\n"+ + "**Route:** %s → %s mit %s\n"+ + "**Ware:** %s\n"+ + "**Dauer:** %.0f Minuten", + formatNumber(entry.Anfangsbestand), + formatNumber(entry.Endbestand), + formatNumber(entry.Gesamtwert), + formatNumber(entry.Abgabe), + formatNumber(entry.Prozentwert), + entry.Startort, + entry.Zielort, + entry.Schiff, + entry.Ware, + entry.Zeitaufwand, + ) + + payload := map[string]string{ + "content": message, + } + jsonData, _ := json.Marshal(payload) + + http.Post(discordWebhook, "application/json", strings.NewReader(string(jsonData))) +} + func createTable(db *sql.DB) { _, err := db.Exec(` CREATE TABLE IF NOT EXISTS eintraege (