#nullable disable namespace NadekoBot.Modules.Nsfw.Common; public class ImageData : IComparable { public Booru SearchType { get; } public string FileUrl { get; } public HashSet Tags { get; } public string Rating { get; } public ImageData( string url, Booru type, string[] tags, string rating) { if (type == Booru.Danbooru && !Uri.IsWellFormedUriString(url, UriKind.Absolute)) FileUrl = "https://danbooru.donmai.us" + url; else FileUrl = url.StartsWith("http", StringComparison.InvariantCulture) ? url : "https:" + url; SearchType = type; FileUrl = url; Tags = tags.ToHashSet(); Rating = rating; } public override string ToString() => FileUrl; public override int GetHashCode() => FileUrl.GetHashCode(); public override bool Equals(object obj) => obj is ImageData ico && ico.FileUrl == FileUrl; public int CompareTo(ImageData other) => string.Compare(FileUrl, other.FileUrl, StringComparison.InvariantCulture); }