public Retweet(CoreTweet.Status status) { Id = status.Id; User = new TweetUser { IconSource = new ProfileImage(status.RetweetedStatus.User.ProfileImageUrl), ScreenName = status.RetweetedStatus.User.ScreenName, Name = status.RetweetedStatus.User.Name, }; Text = status.RetweetedStatus.ExtendedTweet?.FullText != null ? status.RetweetedStatus.ExtendedTweet?.FullText : status.RetweetedStatus.FullText ?? status.RetweetedStatus.Text ?? ""; Medias = status?.RetweetedStatus?.ExtendedEntities?.Media? .Where(media => media.Type == "photo") .Select(media => new TweetImage(media.MediaUrl)); RetweetCount = status.RetweetedStatus.RetweetCount ?? 0; FavoriteCount = status.RetweetedStatus.FavoriteCount ?? 0; IsRetweetByUser = status.IsRetweeted ?? false; IsFavorited = status.RetweetedStatus.IsFavorited ?? false; OriginUser = new TweetUser { UserId = status.User.Id ?? 0, IconSource = new ProfileImage(status.User.ProfileImageUrl), ScreenName = status.User.ScreenName, Name = status.User.Name }; }
public void Stop() { this.disposable.Dispose(); this.timer.Change(Timeout.Infinite, Timeout.Infinite); rt_data.Clear(); if (setdata.d.propaganda && check_num.NUM != 0) { foreach (var token in tokens) { if (token.IsEnabled) { try { string text = check_num.NUM + Properties.Resources.tweet_propaganda; CoreTweet.Status Status = token.token.Statuses.Update(new Dictionary <string, object>() { { "status", text } }); Console.WriteLine(text); } catch { } } } } //Console.WriteLine("---------------RT End--------------------"); }
public static Tweet Convert(CoreTweet.Status source) => new Tweet( id: source.Id, tweetUrl: $"https://twitter.com/{source.User.ScreenName}/status/{source.Id}", user: ConvertUser(source.User), postedAt: source.CreatedAt.LocalDateTime, body: source.Text, imageUrls: source.Entities.Urls.Select(e => e.ExpandedUrl).ToList() );
public static ITweet Create(CoreTweet.Status status) { if (status.RetweetedStatus == null) { return(new Tweet(status)); } else { return(new Retweet(status)); } }
public RetweetInformation(CoreTweet.Status cOrigStatus) { if (cOrigStatus.RetweetedStatus == null) { return; } User = new User(cOrigStatus.User); Id = cOrigStatus.Id; CreatedAt = cOrigStatus.CreatedAt.DateTime; }
public Status(CoreTweet.Status cOrigStatus) { var cStatus = cOrigStatus; if (cStatus.RetweetedStatus != null) { cStatus = cOrigStatus.RetweetedStatus; } CreatedAt = cStatus.CreatedAt.DateTime; Entities = new Entities(cStatus.ExtendedTweet?.Entities ?? cStatus.Entities, cStatus.ExtendedTweet?.ExtendedEntities ?? cStatus.ExtendedEntities); FavoriteCount = cStatus.FavoriteCount ?? 0; RetweetCount = cStatus.RetweetCount ?? 0; InReplyToStatusId = cStatus.InReplyToStatusId ?? 0; InReplyToScreenName = cStatus.InReplyToScreenName; InReplyToUserId = cStatus.InReplyToUserId ?? 0; Id = cStatus.Id; Text = cStatus.ExtendedTweet?.FullText ?? cStatus.FullText ?? cStatus.Text; User = cStatus.User != null ? new User(cStatus.User) : null; IsFavorited = cStatus.IsFavorited ?? false; IsRetweeted = cStatus.IsRetweeted ?? false; PossiblySensitive = cStatus.PossiblySensitive ?? false; RetweetInformation = cOrigStatus.RetweetedStatus != null ? new RetweetInformation(cOrigStatus) : null; HasRetweetInformation = cOrigStatus.RetweetedStatus != null; MentionStatus = null; QuotedStatus = cStatus.QuotedStatus?.User != null ? new Status(cStatus.QuotedStatus) : null; QuotedStatusId = cStatus.QuotedStatusId.HasValue && QuotedStatus != null ? cStatus.QuotedStatusId.Value : 0; Url = "https://twitter.com/" + cStatus.User.ScreenName + "/status/" + cStatus.Id; var sourceMatch = SourceRegex.Match(cStatus.Source); Source = sourceMatch.Success ? sourceMatch.Groups[1].Value : cStatus.Source; }
//引数で受け取るのは実際にタップした詳細ツイートです public DetailTwtPage(CoreTweet.Status item) { TwitterDatabase database = new TwitterDatabase(); var btnMenu = new StackLayout { VerticalOptions = LayoutOptions.EndAndExpand, Orientation = StackOrientation.Horizontal, Children = { new Button { Text = "戻る", Command = new Command(() =>{ // IsEnabled = false; //System.Console.WriteLine("call"); // Navigation.PushModalAsync(new SerchResult(entry.Text)); Navigation.PopModalAsync(); // Navigation.PushAsync(new SerchResult(entry.Text)); //IsEnabled = true; // Navigation.PushAsync(new SerchResult(entry.Text)); //.PushAsync(new SerchResult(entry.Text)); }) }, new Button { Text = "保存する", Command = new Command(() =>{ var twitem = new TwItem{ UserName = item.User.ScreenName, CreateDay = item.User.CreatedAt.DateTime.ToString(), Text = item.Text, saveTime = DateTime.Now }; database.SaveData(twitem); DisplayAlert("完了", "保存しました", "OK"); }) }, } }; Content = new StackLayout { Children = { new Label { Text = item.User.ScreenName }, new Label { Text = item.User.CreatedAt.DateTime.ToString() }, new Label { Text = item.Text }, btnMenu }, Padding = new Thickness(0, Device.OnPlatform(20, 0, 20), 0, 0) }; }
private void RT_Go(object o) { //Console.WriteLine("RT_GO"); bool IsRetweeted = false; if (rt_data.Count != 0) { foreach (var ids in blocklist.Select((v, i) => new{ v, i })) { if (tokens[ids.i].UseBlock) { foreach (var id in ids.v) { if (id == rt_data[0].usr) { rt_data.RemoveAt(0); RT_Go(o); return; } } } } if (setdata.d.Use_NG_ACC) { foreach (var ng_acc in ng_datas.account.Select((v, i) => new { v, i })) { if (ng_acc.v.id == rt_data[0].usr) { rt_data.RemoveAt(0); RT_Go(o); return; } } } foreach (var id in improper_tweet) { if (id == rt_data[0].id) { rt_data.RemoveAt(0); RT_Go(o); return; } } foreach (var token in tokens) { if (token.IsEnabled) { if ((!(setdata.d.rt_from_me)) && (token.token.UserId == rt_data[0].usr)) { continue; } try { CoreTweet.Status retweetedStatus = token.token.Statuses.Retweet(id => rt_data[0].id); if (WithHeart) { token.token.Favorites.Create(id => rt_data[0].id); } //CoreTweet.Status favstatus =token.token.Favorites.Create(id => rt_data[0].id); IsRetweeted = true; //Console.WriteLine(token.token.ScreenName +";RT->" + rt_data[0].text); } //catch(CoreTweet.TwitterException e) //{ //Console.WriteLine(rt_data[0].text); //Console.WriteLine(e); //} catch { //Console.WriteLine(rt_data[0].text); //Console.WriteLine(e); if (rt_data.Count != 0) { improper_tweet.Add(rt_data[0].id); } } } } if (IsRetweeted) { check_num.Num_Inc(); } //Console.WriteLine(rt_data.Count); if (rt_data.Count != 0) { rt_data.RemoveAt(0); if (!(IsRetweeted)) { RT_Go(o); } }//Console.WriteLine(rt_data.Count); //Console.WriteLine(DateTime.Now); } }
public StatusRanking(int ranking, CoreTweet.Status status) { Ranking = ranking; Status = status; }