From 8fd49e20d5ea1346281574cb8ee126f841c7ce74 Mon Sep 17 00:00:00 2001 From: "DESKTOP-T0O5CDB\\DESK-555BD" Date: Fri, 6 Dec 2024 08:42:25 -0700 Subject: [PATCH] added support for discord. --- Helper/StaticHelper.cs | 10 +++++++++- Models/Shared/WebHookPayload.cs | 18 +++++++++++++++++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/Helper/StaticHelper.cs b/Helper/StaticHelper.cs index d2f9e65..84c96bb 100644 --- a/Helper/StaticHelper.cs +++ b/Helper/StaticHelper.cs @@ -327,7 +327,15 @@ namespace CarCareTracker.Helper return; } var httpClient = new HttpClient(); - httpClient.PostAsJsonAsync(webhookURL, webHookPayload); + if (webhookURL.StartsWith("discord://")) + { + webhookURL = webhookURL.Replace("discord://", "https://"); //cleanurl + //format to discord + httpClient.PostAsJsonAsync(webhookURL, DiscordWebHook.FromWebHookPayload(webHookPayload)); + } else + { + httpClient.PostAsJsonAsync(webhookURL, webHookPayload); + } } public static string GetImportModeIcon(ImportMode importMode) { diff --git a/Models/Shared/WebHookPayload.cs b/Models/Shared/WebHookPayload.cs index 7a91d40..fe55fcd 100644 --- a/Models/Shared/WebHookPayload.cs +++ b/Models/Shared/WebHookPayload.cs @@ -1,4 +1,6 @@ -namespace CarCareTracker.Models +using System.Text.Json.Serialization; + +namespace CarCareTracker.Models { /// /// WebHookPayload Object @@ -18,6 +20,20 @@ public string Username { get; set; } = ""; public string Action { get; set; } = ""; } + public class DiscordWebHook + { + public string Username { get { return "LubeLogger"; } } + [JsonPropertyName("avatar_url")] + public string AvatarUrl { get { return "https://hargata.github.io/hargata/lubelogger_logo_small.png"; } } + public string Content { get; set; } = ""; + public static DiscordWebHook FromWebHookPayload(WebHookPayload webHookPayload) + { + return new DiscordWebHook + { + Content = webHookPayload.Action, + }; + } + } public class WebHookPayload: WebHookPayloadBase { private static string GetFriendlyActionType(string actionType)