using MediaBrowser.Model.Plugins;
namespace Jellyfin.Plugin.SmartNotify.Configuration;
///
/// Plugin configuration.
///
public class PluginConfiguration : BasePluginConfiguration
{
///
/// Initializes a new instance of the class.
///
public PluginConfiguration()
{
DiscordWebhookUrl = string.Empty;
NotificationDelayMinutes = 5;
GroupingWindowMinutes = 5;
EnableMovieNotifications = true;
EnableEpisodeNotifications = true;
SuppressUpgrades = true;
BotUsername = "Jellyfin SmartNotify";
EmbedColor = 3447003; // Discord blue
}
///
/// Gets or sets the Discord webhook URL.
///
public string DiscordWebhookUrl { get; set; }
///
/// Gets or sets the delay before processing notifications (allows metadata to settle).
///
public int NotificationDelayMinutes { get; set; }
///
/// Gets or sets the time window in which episodes are grouped together.
///
public int GroupingWindowMinutes { get; set; }
///
/// Gets or sets a value indicating whether to notify for movies.
///
public bool EnableMovieNotifications { get; set; }
///
/// Gets or sets a value indicating whether to notify for episodes.
///
public bool EnableEpisodeNotifications { get; set; }
///
/// Gets or sets a value indicating whether to suppress notifications for quality upgrades.
///
public bool SuppressUpgrades { get; set; }
///
/// Gets or sets the Discord bot username.
///
public string BotUsername { get; set; }
///
/// Gets or sets the Discord embed color.
///
public int EmbedColor { get; set; }
///
/// Gets or sets the Jellyfin server URL for image links.
///
public string ServerUrl { get; set; } = string.Empty;
}