Cleanup embed building

This commit is contained in:
jack-mil 2023-07-26 16:01:07 +00:00
parent 7511d4a60f
commit a4ecd652ab
2 changed files with 53 additions and 62 deletions

View File

@ -214,7 +214,7 @@ namespace NzbDrone.Core.Notifications.Discord
break; break;
case DiscordImportFieldType.Release: case DiscordImportFieldType.Release:
discordField.Name = "Release"; discordField.Name = "Release";
discordField.Value = message.EpisodeFile.SceneName; discordField.Value = string.Format("```{0}```", message.EpisodeFile.SceneName);
break; break;
case DiscordImportFieldType.Links: case DiscordImportFieldType.Links:
discordField.Name = "Links"; discordField.Name = "Links";
@ -358,81 +358,72 @@ namespace NzbDrone.Core.Notifications.Discord
public override void OnHealthIssue(HealthCheck.HealthCheck healthCheck) public override void OnHealthIssue(HealthCheck.HealthCheck healthCheck)
{ {
var attachments = new List<Embed> var embed = new Embed
{ {
new Embed Author = new DiscordAuthor
{ {
Author = new DiscordAuthor Name = Settings.Author.IsNullOrWhiteSpace() ? Environment.MachineName : Settings.Author,
{ IconUrl = "https://raw.githubusercontent.com/Sonarr/Sonarr/develop/Logo/256.png"
Name = Settings.Author.IsNullOrWhiteSpace() ? Environment.MachineName : Settings.Author, },
IconUrl = "https://raw.githubusercontent.com/Sonarr/Sonarr/develop/Logo/256.png" Title = healthCheck.Source.Name,
}, Description = healthCheck.Message,
Title = healthCheck.Source.Name, Timestamp = DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ss.fffZ"),
Description = healthCheck.Message, Color = healthCheck.Type == HealthCheck.HealthCheckResult.Warning ? (int)DiscordColors.Warning : (int)DiscordColors.Danger
Timestamp = DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ss.fffZ"), };
Color = healthCheck.Type == HealthCheck.HealthCheckResult.Warning ? (int)DiscordColors.Warning : (int)DiscordColors.Danger
}
};
var payload = CreatePayload(null, attachments); var payload = CreatePayload(null, new List<Embed> { embed });
_proxy.SendPayload(payload, Settings); _proxy.SendPayload(payload, Settings);
} }
public override void OnHealthRestored(HealthCheck.HealthCheck previousCheck) public override void OnHealthRestored(HealthCheck.HealthCheck previousCheck)
{ {
var attachments = new List<Embed> var embed = new Embed
{ {
new Embed Author = new DiscordAuthor
{ {
Author = new DiscordAuthor Name = Settings.Author.IsNullOrWhiteSpace() ? Environment.MachineName : Settings.Author,
{ IconUrl = "https://raw.githubusercontent.com/Sonarr/Sonarr/develop/Logo/256.png"
Name = Settings.Author.IsNullOrWhiteSpace() ? Environment.MachineName : Settings.Author, },
IconUrl = "https://raw.githubusercontent.com/Sonarr/Sonarr/develop/Logo/256.png" Title = "Health Issue Resolved: " + previousCheck.Source.Name,
}, Description = $"The following issue is now resolved: {previousCheck.Message}",
Title = "Health Issue Resolved: " + previousCheck.Source.Name, Timestamp = DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ss.fffZ"),
Description = $"The following issue is now resolved: {previousCheck.Message}", Color = (int)DiscordColors.Success
Timestamp = DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ss.fffZ"), };
Color = (int)DiscordColors.Success
}
};
var payload = CreatePayload(null, attachments); var payload = CreatePayload(null, new List<Embed> { embed });
_proxy.SendPayload(payload, Settings); _proxy.SendPayload(payload, Settings);
} }
public override void OnApplicationUpdate(ApplicationUpdateMessage updateMessage) public override void OnApplicationUpdate(ApplicationUpdateMessage updateMessage)
{ {
var attachments = new List<Embed> var embed = new Embed
{ {
new Embed Author = new DiscordAuthor
{ {
Author = new DiscordAuthor Name = Settings.Author.IsNullOrWhiteSpace() ? Environment.MachineName : Settings.Author,
{ IconUrl = "https://raw.githubusercontent.com/Sonarr/Sonarr/develop/Logo/256.png"
Name = Settings.Author.IsNullOrWhiteSpace() ? Environment.MachineName : Settings.Author, },
IconUrl = "https://raw.githubusercontent.com/Sonarr/Sonarr/develop/Logo/256.png" Title = APPLICATION_UPDATE_TITLE,
}, Timestamp = DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ss.fffZ"),
Title = APPLICATION_UPDATE_TITLE, Color = (int)DiscordColors.Standard,
Timestamp = DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ss.fffZ"), Fields = new List<DiscordField>()
Color = (int)DiscordColors.Standard, {
Fields = new List<DiscordField>() new DiscordField()
{ {
new DiscordField() Name = "Previous Version",
{ Value = updateMessage.PreviousVersion.ToString()
Name = "Previous Version", },
Value = updateMessage.PreviousVersion.ToString() new DiscordField()
}, {
new DiscordField() Name = "New Version",
{ Value = updateMessage.NewVersion.ToString()
Name = "New Version", }
Value = updateMessage.NewVersion.ToString() },
} };
},
}
};
var payload = CreatePayload(null, attachments); var payload = CreatePayload(null, new List<Embed> { embed });
_proxy.SendPayload(payload, Settings); _proxy.SendPayload(payload, Settings);
} }

View File

@ -35,7 +35,7 @@ namespace NzbDrone.Core.Notifications.Discord
[FieldDefinition(2, Label = "Avatar", HelpText = "Change the avatar that is used for messages from this integration", Type = FieldType.Textbox)] [FieldDefinition(2, Label = "Avatar", HelpText = "Change the avatar that is used for messages from this integration", Type = FieldType.Textbox)]
public string Avatar { get; set; } public string Avatar { get; set; }
[FieldDefinition(3, Label = "Host", Advanced = true, HelpText = "Override the Host that shows for this notification, Blank is machine name", Type = FieldType.Textbox)] [FieldDefinition(3, Label = "Author", Advanced = true, HelpText = "Override the embed author that shows for this notification, Blank is instance name", Type = FieldType.Textbox)]
public string Author { get; set; } public string Author { get; set; }
[FieldDefinition(4, Label = "On Grab Fields", Advanced = true, SelectOptions = typeof(DiscordGrabFieldType), HelpText = "Change the fields that are passed in for this 'on grab' notification", Type = FieldType.TagSelect)] [FieldDefinition(4, Label = "On Grab Fields", Advanced = true, SelectOptions = typeof(DiscordGrabFieldType), HelpText = "Change the fields that are passed in for this 'on grab' notification", Type = FieldType.TagSelect)]