namespace DiscordBotCore.Utilities.Responses; public class Response : IResponse { public bool IsSuccess => Data; public string Message { get; } public bool Data { get; } private Response(bool result) { Data = result; Message = string.Empty; } private Response(string message) { Data = false; Message = message; } public static Response Success() => new Response(true); public static Response Failure(string message) => new Response(message); } public class Response : IResponse where T : class { public bool IsSuccess => Data is not null; public string Message { get; } public T? Data { get; } private Response(T data) { Data = data; Message = string.Empty; } private Response(string message) { Data = null; Message = message; } public static Response Success(T data) => new Response(data); public static Response Failure(string message) => new Response(message); }