public User(Mastonet.Entities.Account cUser) { CreateAt = cUser.CreatedAt; Description = ContentRegex.Replace(LinkRegex.Replace(cUser.Note.Replace("<br>", "\n"), x => " " + x.Groups[1].Value + " "), "").Trim(); Entities = new UserEntities(); FavouritesCount = 0; FollowersCount = cUser.FollowersCount; FriendsCount = cUser.FollowingCount; Id = cUser.Id; IsFollowRequestSent = false; IsMuting = false; IsProtected = cUser.Locked; IsVerified = false; Language = "en"; ListedCount = 0; Location = ""; var name = string.IsNullOrWhiteSpace(cUser.DisplayName) ? cUser.UserName : cUser.DisplayName; name = EmojiPatterns.LightValidEmoji.Replace(name, x => EmojiPatterns.EmojiDictionary.TryGetValue(x.Groups[2].Value, out string val) ? val : x.Value); Name = name; ProfileBackgroundColor = "C0DEED"; ProfileBackgroundImageUrl = "http://localhost/"; ProfileBannerUrl = cUser.HeaderUrl.StartsWith("http") ? cUser.HeaderUrl : "http://localhost/"; ProfileImageUrl = cUser.AvatarUrl.StartsWith("http") ? cUser.AvatarUrl : "http://localhost/"; ScreenName = cUser.AccountName; StatusesCount = cUser.StatusesCount; TimeZone = null; Url = cUser.ProfileUrl; }
public DirectMessage(Mastonet.Entities.Status cDirectMessage, Mastonet.Entities.Account cRecipient) { CreatedAt = cDirectMessage.CreatedAt; var urlEntities = new List <string>(); var text = cDirectMessage.Content.Replace("<br />", "\n"); text = Status.LinkRegex.Replace(text, match => { var userMention = cDirectMessage.Mentions.Where(x => x.Url == match.Groups[2].Value || x.Url.Replace("/@", "/users/") == match.Groups[2].Value).ToArray(); if (userMention.Length != 0) { return(" @" + userMention.First().AccountName + " "); } urlEntities.Add(match.Groups[2].Value); return(" " + match.Groups[1]?.Value + match.Groups[3].Value + " "); }); text = Status.ContentRegex.Replace(text, "").Trim(); text = EmojiPatterns.LightValidEmoji.Replace(text, x => EmojiPatterns.EmojiDictionary.TryGetValue(x.Groups[2].Value, out string val) ? val : x.Value); Text = text; Entities = new Entities(cDirectMessage.MediaAttachments, cDirectMessage.Mentions, cDirectMessage.Tags, urlEntities, cDirectMessage.Content); Id = cDirectMessage.Id; Recipient = new User(cRecipient); Sender = new User(cDirectMessage.Account); PossiblySensitive = cDirectMessage.Sensitive ?? false; }
private string GetName(Mastonet.Entities.Account account) { if (account.DisplayName != "") { return(account.DisplayName); } else { return(account.UserName); } }
public static MastodonAccount ToMastodonAccount(this Mastonet.Entities.Account self) { if (self == null) { return(null); } return(new MastodonAccount( id: self.Id, accountName: self.AccountName, url: self.ProfileUrl, displayName: self.DisplayName, avatarUrl: self.AvatarUrl )); }