public override string ToString() { var aislingDate = HybrasylTime.ConvertToHybrasyl(Timestamp != LastUpdated ? Timestamp : LastUpdated); var returnstring = Text; string markDate = ""; if (DisplayTimestamp && DisplaySeason) { markDate = $"{aislingDate.AgeName} {aislingDate.Year}, {aislingDate.Season}"; } else if (DisplayTimestamp) { markDate = $"{aislingDate.AgeName} {aislingDate.Year}"; } var maxLength = 254 - 15 - markDate.Length; if (Text.Length > maxLength) { returnstring = Text.Substring(0, maxLength); } if (Quantity > 0) { returnstring = $"{returnstring} ({Quantity})"; } if (!Public) { returnstring = $" - {returnstring}"; } returnstring = $"{returnstring} - {markDate}"; return(returnstring); }
public new static ChatCommandResult Run(User user, params string[] args) { if (args[0].ToLower() == "aisling") { var hybrasylTime = HybrasylTime.FromString(args[1]); return(Success($"{args[1]} is {HybrasylTime.ConvertToTerran(hybrasylTime)} .")); } else if (args[0].ToLower() == "terran") { if (DateTime.TryParse(args[1], out DateTime time)) { var hybrasylTime = HybrasylTime.ConvertToHybrasyl(time); return(Success($"{args[1]} is {hybrasylTime.ToString()} .")); } return(Fail("Couldn't parse passed value (datetime)")); } else { return(Fail("Unsupported time format. Try 'aisling' or 'terran'")); } }