added support for discord.

This commit is contained in:
DESKTOP-T0O5CDB\DESK-555BD 2024-12-06 08:42:25 -07:00
parent c791070126
commit 8fd49e20d5
2 changed files with 26 additions and 2 deletions

View File

@ -327,7 +327,15 @@ namespace CarCareTracker.Helper
return; return;
} }
var httpClient = new HttpClient(); 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) public static string GetImportModeIcon(ImportMode importMode)
{ {

View File

@ -1,4 +1,6 @@
namespace CarCareTracker.Models using System.Text.Json.Serialization;
namespace CarCareTracker.Models
{ {
/// <summary> /// <summary>
/// WebHookPayload Object /// WebHookPayload Object
@ -18,6 +20,20 @@
public string Username { get; set; } = ""; public string Username { get; set; } = "";
public string Action { 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 public class WebHookPayload: WebHookPayloadBase
{ {
private static string GetFriendlyActionType(string actionType) private static string GetFriendlyActionType(string actionType)