public void Test_ValidToString() { string user = "******"; string message = "This is a test message"; TwitterPost post = new TwitterPost(user, message); Assert.IsNotNull(post, "Twitter Post is null"); Assert.AreEqual<string>(string.Format("@{0}: {1}", user, message), post.ToString(), "Twitter Post ToString is invalid"); }
public void Test_ValidTweet() { var user = "******"; var tweet = new TwitterPost(user, "Some random message"); var twitterUser = new TwitterUser(user); twitterUser.TwitterPosts.Add(tweet); Assert.IsNotNull(twitterUser, "Twitter User is null"); Assert.IsTrue(twitterUser.TwitterPosts.Count == 1, "Tweet count is invalid"); Assert.AreEqual<IPost>(tweet, twitterUser.TwitterPosts[0], "Tweet is invalid"); }
public void Test_ValidToString() { var user = "******"; var message = "Some random message"; var tweet = new TwitterPost(user, message); var twitterUser = new TwitterUser(user); twitterUser.TwitterPosts.Add(tweet); Assert.IsNotNull(twitterUser, "Twitter User is null"); Assert.IsTrue(twitterUser.TwitterPosts.Count == 1, "Tweet count is invalid"); StringBuilder sb = new StringBuilder(); sb.AppendFormat("@{0}: {1}", user, message); Assert.AreEqual<string>(sb.ToString(), twitterUser.TwitterPosts[0].ToString(), "Twitter Post ToString is invalid"); }
public static DiscordEmbed CreateTwitterEmbed(TwitterPost post) { //Try and find the social account for this BotConfigFile_SocialAccount account = null; var foundAccounts = Program.config.social_pages.Where(x => x.username.ToLower() == post.user.screen_name.ToLower()); if (foundAccounts.Count() == 1) { account = foundAccounts.First(); } else { account = new BotConfigFile_SocialAccount { screen_name = post.user.name, platform = BotConfigFile_SocialAccountType.Twitter, username = post.user.screen_name } }; //Create dummy //Build DiscordEmbedBuilder builder = new DiscordEmbedBuilder(); if (post.in_reply_to_status_id == null) { //Original tweet builder.Title = $"Twitter Post by {account.screen_name}"; builder.Description = post.text; } else { //Reply to a tweet builder.Title = $"Twitter Reply by {account.screen_name}"; builder.Description = $"*(In [reply]({ $"https://twitter.com/{post.in_reply_to_screen_name}/status/{post.in_reply_to_status_id}" }) to @{post.in_reply_to_screen_name})*\n" + post.text; } builder.Url = $"https://twitter.com/{post.user.screen_name}/status/{post.id.ToString()}"; builder.Color = new DiscordColor("#48AAE6"); if (post.extended_entities != null) { if (post.extended_entities.media != null) { if (post.extended_entities.media.Length >= 1) { var media = post.extended_entities.media[0]; builder.ImageUrl = media.media_url_https; } } } builder.Author = new DiscordEmbedBuilder.EmbedAuthor { IconUrl = post.user.profile_image_url_https, Name = "@" + post.user.screen_name, Url = $"https://twitter.com/{post.user.screen_name}" }; builder.Footer = new DiscordEmbedBuilder.EmbedFooter { Text = Program.FOOTER_TEXT, IconUrl = "https://romanport.com/static/nerd_bot/twitter.png" }; return(builder.Build()); }