public override async Task DoWork(AbbybotCommandArgs a) { if (!(a.originalMessage.Author is SocketGuildUser sgu)) { var usu = a.GetUser(a.user.Id); StringBuilder sb = new StringBuilder(); foreach (var g in usu.MutualGuilds.ToList()) { var zkz = g.GetUser(a.user.Id); if (!zkz.JoinedAt.HasValue) { sb.AppendLine($"you didn't have a join time in {g.Name}... somehow..."); continue; } var ms = (TimeSpan)(DateTime.Now - zkz.JoinedAt.Value); var ts = TimeStringGenerator.MilistoTimeString((decimal)ms.TotalMilliseconds); sb.AppendLine($"you joined {g.Name} exactly {ts} ago."); } await a.Send(sb.ToString()); }