fix: claude hat bugs im Kopf
All checks were successful
Create Release PR / Create Release PR (push) Successful in 10s
All checks were successful
Create Release PR / Create Release PR (push) Successful in 10s
This commit is contained in:
@@ -38,8 +38,8 @@ public class DiscordNotificationService
|
||||
/// </summary>
|
||||
/// <param name="notifications">The notifications to group and send.</param>
|
||||
/// <param name="cancellationToken">The cancellation token.</param>
|
||||
/// <returns>A task representing the async operation.</returns>
|
||||
public async Task SendGroupedEpisodeNotificationAsync(
|
||||
/// <returns>True if the notification was sent successfully.</returns>
|
||||
public async Task<bool> SendGroupedEpisodeNotificationAsync(
|
||||
IEnumerable<PendingNotification> notifications,
|
||||
CancellationToken cancellationToken)
|
||||
{
|
||||
@@ -47,13 +47,13 @@ public class DiscordNotificationService
|
||||
if (config == null || string.IsNullOrEmpty(config.DiscordWebhookUrl))
|
||||
{
|
||||
_logger.LogWarning("Discord webhook URL not configured");
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
|
||||
var notificationList = notifications.ToList();
|
||||
if (notificationList.Count == 0)
|
||||
{
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
|
||||
var first = notificationList.First();
|
||||
@@ -70,7 +70,7 @@ public class DiscordNotificationService
|
||||
var title = $"📺 {seriesName}";
|
||||
var description = $"Neue Episoden hinzugefügt:\n{episodeDescription}";
|
||||
|
||||
await SendDiscordWebhookAsync(
|
||||
return await SendDiscordWebhookAsync(
|
||||
config,
|
||||
title,
|
||||
description,
|
||||
@@ -153,7 +153,8 @@ public class DiscordNotificationService
|
||||
/// </summary>
|
||||
/// <param name="notification">The notification.</param>
|
||||
/// <param name="cancellationToken">The cancellation token.</param>
|
||||
public async Task SendMovieNotificationAsync(
|
||||
/// <returns>True if the notification was sent successfully.</returns>
|
||||
public async Task<bool> SendMovieNotificationAsync(
|
||||
PendingNotification notification,
|
||||
CancellationToken cancellationToken)
|
||||
{
|
||||
@@ -161,7 +162,7 @@ public class DiscordNotificationService
|
||||
if (config == null || string.IsNullOrEmpty(config.DiscordWebhookUrl))
|
||||
{
|
||||
_logger.LogWarning("Discord webhook URL not configured");
|
||||
return;
|
||||
return false;
|
||||
}
|
||||
|
||||
var title = $"🎬 {notification.Name}";
|
||||
@@ -176,7 +177,7 @@ public class DiscordNotificationService
|
||||
description = description.Substring(0, 297) + "...";
|
||||
}
|
||||
|
||||
await SendDiscordWebhookAsync(
|
||||
return await SendDiscordWebhookAsync(
|
||||
config,
|
||||
title,
|
||||
description,
|
||||
@@ -236,7 +237,8 @@ public class DiscordNotificationService
|
||||
/// <summary>
|
||||
/// Sends the actual Discord webhook request, with optional image attachment.
|
||||
/// </summary>
|
||||
private async Task SendDiscordWebhookAsync(
|
||||
/// <returns>True if the webhook was sent successfully.</returns>
|
||||
private async Task<bool> SendDiscordWebhookAsync(
|
||||
PluginConfiguration config,
|
||||
string title,
|
||||
string description,
|
||||
@@ -260,7 +262,16 @@ public class DiscordNotificationService
|
||||
|
||||
if (!string.IsNullOrEmpty(externalLinks))
|
||||
{
|
||||
embed["footer"] = new Dictionary<string, string> { ["text"] = externalLinks };
|
||||
var fields = new List<Dictionary<string, object>>
|
||||
{
|
||||
new Dictionary<string, object>
|
||||
{
|
||||
["name"] = "Links",
|
||||
["value"] = externalLinks,
|
||||
["inline"] = false
|
||||
}
|
||||
};
|
||||
embed["fields"] = fields;
|
||||
}
|
||||
|
||||
embed["timestamp"] = DateTime.UtcNow.ToString("o");
|
||||
@@ -272,7 +283,7 @@ public class DiscordNotificationService
|
||||
};
|
||||
|
||||
var json = JsonSerializer.Serialize(payload);
|
||||
_logger.LogDebug("Sending Discord webhook: {Json}", json);
|
||||
_logger.LogInformation("Sending Discord webhook for: {Title}", title);
|
||||
|
||||
try
|
||||
{
|
||||
@@ -281,6 +292,7 @@ public class DiscordNotificationService
|
||||
|
||||
if (hasImage)
|
||||
{
|
||||
_logger.LogInformation("Attaching image from: {Path}", imagePath);
|
||||
// Send as multipart/form-data with image attachment
|
||||
using var form = new MultipartFormDataContent();
|
||||
form.Add(new StringContent(json, Encoding.UTF8, "application/json"), "payload_json");
|
||||
@@ -306,15 +318,16 @@ public class DiscordNotificationService
|
||||
"Discord webhook failed with status {Status}: {Body}",
|
||||
response.StatusCode,
|
||||
responseBody);
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
_logger.LogInformation("Discord notification sent successfully: {Title}", title);
|
||||
}
|
||||
|
||||
_logger.LogInformation("Discord notification sent successfully: {Title}", title);
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "Failed to send Discord webhook");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user