示例#1
0
文件: Form1.cs 项目: merveozmann/IOT
        private void button1_Click(object sender, EventArgs e)
        {
            service = new TwitterService(kullaniciApiKey, ApiKeySecret);
            service.AuthenticateWith(Erisim, ErisimSecret);
            IEnumerable <TwitterStatus>     tweets;
            ListTweetsOnUserTimelineOptions ops = new ListTweetsOnUserTimelineOptions();

            ops.ScreenName = textBox1.Text;
            ops.Count      = 10;

            tweets = service.ListTweetsOnUserTimeline(ops);
            List <Tweet> tweetlist = new List <Tweet>();

            tweetlist.Clear();

            for (int i = 0; i < tweets.Count() - 1; i++)
            {
                DateTime gun          = tweets.ToList()[i].CreatedDate;
                long     twitterid    = tweets.ToList()[i].Id;
                string   kullaniciadi = tweets.ToList()[i].User.ScreenName;
                string   tweet        = tweets.ToList()[i].Text;
                tweetlist.Add(new Tweet(gun, twitterid, kullaniciadi, tweet));
            }
            verilerList(tweetlist);
            verikayıt(tweetlist);
        }
示例#2
0
        public string[] Get(string userName)
        {
            // var token = config.ConsumerKey;
            var twitterClientInfo = new TwitterClientInfo
            {
                ConsumerKey    = Startup.twitterConfig["ConsumerKey"],
                ConsumerSecret = Startup.twitterConfig["ConsumerSecret"]
            };
            TwitterService service = new TwitterService(twitterClientInfo);

            service.AuthenticateWith(Startup.twitterConfig["Token"], Startup.twitterConfig["TokenSecret"]);
            ListTweetsOnUserTimelineOptions options = new ListTweetsOnUserTimelineOptions();

            options.ScreenName     = userName;
            options.Count          = 50;
            options.IncludeRts     = false;
            options.ExcludeReplies = true;
            var response = service.ListTweetsOnUserTimeline(options).ToList();

            string[] tweets = new string[response.Count];
            for (int i = 0; i < response.Count; i++)
            {
                tweets[i] = response[i].TextAsHtml;
            }
            return(tweets);
        }
        public string getTwitter(string user)
        {
            try
            {
                SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);
                SqlDataReader dr;
                SqlCommand    cmd = new SqlCommand();
                cmd.CommandText = "select * from tbl_ext_creds_twitter (nolock) where userid='" + user + "'";
                cmd.Connection  = conn;
                conn.Open();

                if (conn.State == ConnectionState.Open)
                {
                    dr = cmd.ExecuteReader();
                    dr.Read();
                    if (dr.HasRows)
                    {
                        //Session["twtoken"] = dr[1].ToString();
                        //Session["twsecret"] = dr[2].ToString();
                        //Session["twscreenname"] = dr[4].ToString();
                        //Session["twuserid"] = dr[3].ToString();

                        var service = new TwitterService(ConfigurationManager.AppSettings["twitter.appkey"].ToString(), ConfigurationManager.AppSettings["twitter.appsecret"].ToString());
                        //service.AuthenticateWith(ConfigurationManager.AppSettings["twitter.accesstoken"].ToString(), ConfigurationManager.AppSettings["twitter.accesstokensecret"].ToString());
                        service.AuthenticateWith(dr[1].ToString(), dr[2].ToString());
                        ListTweetsOnUserTimelineOptions opt = new ListTweetsOnUserTimelineOptions {
                            ScreenName = dr[4].ToString(), Count = 5
                        };
                        //IEnumerable<TwitterStatus> tweets = service.ListTweetsOnUserTimeline(new ListTweetsOnUserTimelineOptions { ScreenName = Session["twscreenname"].ToString(), Count = 5 });
                        IEnumerable <TwitterStatus> tweets = service.ListTweetsOnUserTimeline(opt);
                        if (tweets != null)
                        {
                            //var t = (TwitterStatus)JsonConvert.DeserializeObject(tweets, typeof(TwitterStatus));


                            foreach (var tweet in tweets)
                            {
                                MPtweets aTweet = new MPtweets();
                                aTweet.profileImageUrl = tweet.Author.ProfileImageUrl;
                                aTweet.ScreenName      = tweet.Author.ScreenName;
                                aTweet.CreatedDate     = tweet.CreatedDate.ToString();
                                aTweet.Text            = tweet.Text;
                                mpt.Add(aTweet);
                                //twitter.InnerHtml = twitter.InnerHtml + "<li> <p> <table><tr><td><img alt=\"\" src=\"" + tweet.Author.ProfileImageUrl + "\" /></td><td> <table> <tr> <td> " + tweet.Author.ScreenName + " </td> </tr> <tr><td>" + tweet.CreatedDate.ToString("MM/dd/yyyy") + " </td> </tr></table> </td></tr></table> </p></li></br>";
                                //twitter.InnerHtml = twitter.InnerHtml + "<li> <p>" + tweet.Text + "</p></li></br>";
                            }

                            twdata = new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(mpt);
                        }
                    }
                    dr.Close();
                }
                conn.Close();
            }
            catch (Exception Ex)
            {
                throw Ex;
            }
            return(twdata);
        }
示例#4
0
        private List <TweetSharp.TwitterStatus> UpdateTweetTimeline()
        {
            var result = new List <TweetSharp.TwitterStatus>();

            recentTweetTimelineUpdateTime = DateTime.UtcNow;

            // Some of oAuth parameters is not set up
            if (String.IsNullOrEmpty(TwitterConsumerKey) || String.IsNullOrEmpty(TwitterConsumerSecret) ||
                String.IsNullOrEmpty(TwitterAccessToken) || String.IsNullOrEmpty(TwitterAccessTokenSecret))
            {
                return(result);
            }

            var service = new TwitterService(TwitterConsumerKey, TwitterConsumerSecret);

            service.AuthenticateWith(TwitterAccessToken, TwitterAccessTokenSecret);

            var options = new ListTweetsOnUserTimelineOptions
            {
                Count = 10
            };

            var recentTweets = service.ListTweetsOnUserTimeline(options);

            if (recentTweets != null)
            {
                foreach (TwitterStatus s in recentTweets)
                {
                    result.Add(s);
                }
            }

            return(result);
        }
示例#5
0
        public async Task <TweetDisplay> GetTweetAsync()
        {
            using (StreamReader r = new StreamReader(Path.Combine(Directory.GetCurrentDirectory(), "config/config.json")))
            {
                string json = r.ReadToEnd();
                twitterConfig = JsonConvert.DeserializeObject <TwitterConfig>(json);
            }

            TwitterService service = new TwitterService(twitterConfig.key, twitterConfig.secret);
            ListTweetsOnUserTimelineOptions opt = new ListTweetsOnUserTimelineOptions
            {
                ScreenName = "realDonaldTrump",
                Count      = 200,
                IncludeRts = false
            };
            var    twitterTimelineResult = service.BeginListTweetsOnUserTimeline(opt);
            var    twitterTimeline       = service.EndListTweetsOnUserTimeline(twitterTimelineResult).ToList();
            Random rnd   = new Random();
            var    tweet = twitterTimeline[rnd.Next(0, twitterTimeline.Count - 1)];

            var client   = new RestClient($"https://history.muffinlabs.com/date/{tweet.CreatedDate.Month}/{tweet.CreatedDate.Day}");
            var response = await client.ExecuteTaskAsync(new RestRequest(Method.GET));

            var eventsContent = JObject.Parse(response.Content).SelectTokens("$..Events..text");
            var years         = JObject.Parse(response.Content).SelectTokens("$..Events..year");


            var index        = rnd.Next(0, eventsContent.Count() - 1);
            var eventContent = eventsContent.ToList()[index];
            var year         = years.ToList()[index];


            return(new TweetDisplay(tweet, eventContent.ToString(), year.ToString()));
        }
示例#6
0
        /// <summary>
        /// Display user's own tweets in the datagrid
        /// </summary>
        private void btnGet_my_tweets_Click(object sender, RoutedEventArgs e)
        {
            ListTweetsOnUserTimelineOptions options = new ListTweetsOnUserTimelineOptions();
            IEnumerable <TwitterStatus>     tweets  = service.ListTweetsOnUserTimeline(options);

            dgTweets.DataContext = tweets;
        }
示例#7
0
        public List <TwitterStatus> GetTweetsFromService(string account)
        {
            var accountOptions = new ListTweetsOnUserTimelineOptions {
                ScreenName = account, Count = TweetsCount
            };

            return(twitterService.ListTweetsOnUserTimeline(accountOptions).ToList());
        }
示例#8
0
        public static Task <List <FashionReportEntry> > Get()
        {
            Settings settings = Settings.Load();

            List <FashionReportEntry> results = new List <FashionReportEntry>();

            if (settings.TwitterConsumerKey == null || settings.TwitterConsumerSecret == null || settings.TwitterToken == null || settings.TwitterTokenSecret == null)
            {
                return(Task.FromResult(results));
            }

            TwitterService service = new TwitterService(settings.TwitterConsumerKey, settings.TwitterConsumerSecret);

            service.AuthenticateWith(settings.TwitterToken, settings.TwitterTokenSecret);

            if (service == null)
            {
                return(Task.FromResult(results));
            }

            ListTweetsOnUserTimelineOptions op = new ListTweetsOnUserTimelineOptions
            {
                ScreenName     = "@KaiyokoStar",
                IncludeRts     = true,
                ExcludeReplies = true,
            };

            IEnumerable <TwitterStatus> statuses = service.ListTweetsOnUserTimeline(op);

            foreach (TwitterStatus status in statuses)
            {
                if (status.Text == null)
                {
                    continue;
                }

                if (!status.Text.Contains("Fashion Report Week"))
                {
                    continue;
                }

                if (!status.Text.Contains("Full Details"))
                {
                    continue;
                }

                FashionReportEntry entry = GetBaseEntry(status.RetweetedStatus ?? status);

                if (status.Entities != null && status.Entities.Media != null && status.Entities.Media.Count > 0)
                {
                    entry.ImageUrl = status.Entities.Media[0].MediaUrl;
                }

                results.Add(entry);
            }

            return(Task.FromResult(results));
        }
示例#9
0
        // retrieves all post of the user
        public static IEnumerable <TwitterStatus> GetUserTimeline(TwitterService service, long userId, bool includeRts, bool excludeReplies)
        {
            ListTweetsOnUserTimelineOptions options = new ListTweetsOnUserTimelineOptions();

            options.UserId         = userId;
            options.IncludeRts     = includeRts;
            options.ExcludeReplies = excludeReplies;
            return(service.ListTweetsOnUserTimeline(options));
        }
示例#10
0
        /// <summary>
        ///     Gets the statuses.
        /// </summary>
        /// <param name="statusId">The status id.</param>
        /// <returns></returns>
        private List <TwitterStatus> GetStatuses(long?statusId = 0)
        {
            List <TwitterStatus> tweetsResult = new List <TwitterStatus>();

            //получаем список всех твитов за последнее время
            Logs.WriteLog("log.txt", "получаем список всех твитов за последнее время");
            var options = new ListTweetsOnUserTimelineOptions
            {
                ScreenName = ScreenName, Count = Count, ExcludeReplies = true, IncludeRts = false
            };

            if (statusId != null && statusId != 0)
            {
                options.SinceId = statusId;
            }

            int i = 1;

            while (true)
            {
                Logs.WriteLog("log.txt", "Страница № " + i);
                List <TwitterStatus> tweets = service.ListTweetsOnUserTimeline(options).ToList();
                Logs.WriteLog("log.txt", "tweets.Count = " + tweets.Count);

                if (!tweets.Any())
                {
                    break;
                }
                options.MaxId = tweets[tweets.Count - 1].Id - 1;

                tweetsResult.AddRange(
                    tweets.Where(twitterStatus => twitterStatus.CreatedDate.ToLocalTime() >= DateTime.Now.AddYears(-1)));
                i++;
            }
            Logs.WriteLog("log.txt", tweetsResult.Count.ToString());

            //убираем те, в которых есть реплаи и нейтрализуем хэштеги
            Logs.WriteLog("log.txt", "убираем те, в которых есть реплаи и нейтрализуем хэштеги");
            var tweets2 = new List <TwitterStatus>();

            foreach (TwitterStatus item in tweetsResult)
            {
                string text = item.Text;
                bool   add  = Reformat(ref text);
                item.Text = text;
                if (add)
                {
                    tweets2.Add(item);
                }
            }
            tweetsResult = tweets2;
            return(tweetsResult);
        }
示例#11
0
    protected void Page_Load(object sender, EventArgs e)
    {
        string password = string.Empty;

        foreach (string query in Request.QueryString)
        {
            switch (query)
            {
            case "p":
                password = Request.QueryString[query];
                break;
            }
        }

        string applicationID = StringCipher.Decrypt(
            "xxPuE+4wV9SnLGsum8AH++vOAM2YdGP7LgL7xNNuGbqP8E39p9Z3eokEVlW2jca2wRZxOCDBgoJxfvq8Hau5mzNvmhyWnnDuKpEHoLNtlaaQObMyM2NdwKj56hKRdOA2ibV99PBbuUYLggRU3N8+GjghuDCRoAE/a8uKiQCXcPS6ABjTcTl0XNMCHPAY95rNbG/8f9zIqNY1SOSzLFuYu7b6RKosXyIgkToXn9f3PyodTyPLepEk24zzhnselA1nwQwPdvAVMXRK8gIolDZFC3DSQZEAIQ9AIVtyWU9doIc=",
            password);
        string senderId =
            StringCipher.Decrypt(
                "UXN9wqfTkkaeDCvOva0PZuwsFxAfv9E0unDIZXhqjKqklYtk2pCD1V4mKAqzSK5jYPDv69N6LcWPzPoSK2mb1zF1FvghKppjakQSv/sQJQZZ25UlakPNEN9nfyXqjWqF",
                password);
        var service = new TwitterService(StringCipher.Decrypt(
                                             "CA89i0TuP6eSmXyghjCyja7yHKcESAgTnSqNiNlS+xYSq46Pw/romSindElRv8JyNPUYa8wR7PfCozZVko4Pdcd19bYKoOcSDl/DwanFcBApB+bcL/Yv2l0Z/vTocfXF",
                                             password),
                                         StringCipher.Decrypt(
                                             "ZVOrKq5cEknsw5Nzfdd/49kcr5XHSbrK1OAt9okMwKLSrGyZixIe+QFKFOllUbETLg1aUX5rNil30iOYXsg3/BqNUR9C/HJpiuGEXDfXkgveMEcKoeUZPL+wdolfgJHrIL9H6SYNtdVb3Q3zj8KEA1gNAkG0BQGMHwrPwv/R/mE=",
                                             password));

        service.AuthenticateWith(StringCipher.Decrypt(
                                     "LGn5p3nzuXkUgs3Z+1hxOKsi55MwStAvWG5nLuV0LZckgrKsR/+yhJWGPFoCqucwy5XSd7PP9ADGLkeddEd6+sasenmFoioxMSFyR7h++AXO6iMMlxJT+nDJ95NdZEqCMe9Gf0S4poRusJrTACRg2Hy8zpIUQef1URdl8dO4bNk=",
                                     password),
                                 StringCipher.Decrypt(
                                     "FBDy1L70sxMztW3rRSo86OUWxAPzf2J3Ft78byxr3V67Njq6+EdzWg51cSYrZUdygjRYQbcOinPvZ5z1oUq/8ChqkoqJrmE8Pp2Mnt/l/G0dtvTlBS+AQOLWh7pMm0RHHh2fwfZomxE9k+6LGNaY6/TOGyQmpn9lHSdsrr+NCy0=",
                                     password));
        var listTweetsOnUserTimelineOptions = new ListTweetsOnUserTimelineOptions
        {
            UserId  = 603876321,
            SinceId = LastId()
        };
        var currentTweets = service.ListTweetsOnUserTimeline(listTweetsOnUserTimelineOptions);

        if (currentTweets.Any())
        {
            var tweet = currentTweets.First();
            var text  = tweet.Text;
            if (text.Contains("NEW DBM PAGE :"))
            {
                SendNotification(text, applicationID, senderId);
            }

            WriteID(tweet.Id);
        }
    }
示例#12
0
 /// <summary>
 /// Search tweets by user
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void searchByUserButton_Click(object sender, EventArgs e)
 {
     //Validate input fields are not empty
     if (!string.IsNullOrWhiteSpace(searchTextBox.Text) && !string.IsNullOrWhiteSpace(numberTweetsTextBox.Text))
     {
         int numberTweetsInt;
         //Excption handling for parsing string into integer and retrieving tweets
         try
         {
             numberTweetsInt = Int32.Parse(numberTweetsTextBox.Text);
             if (numberTweetsInt > 0)                        //Verify number of tweet is greter than 0
             {
                 tweetsListBox.Items.Clear();                //Clear listbox to make sure is empty
                 ListTweetsOnUserTimelineOptions tweetsList = new ListTweetsOnUserTimelineOptions();
                 tweetsList.ScreenName = searchTextBox.Text; //The Twitter Account/Handle name
                 //tweetsList.ExcludeReplies = true;
                 tweetsList.Count = numberTweetsInt;         //How many tweets the user wants
                 var tweets = sTwitterService.ListTweetsOnUserTimeline(tweetsList);
                 if (tweets.Any())                           // verify if any tweets exist
                 {
                     foreach (var tweet in tweets)
                     {
                         //Add tweet information to list box to be displayed
                         tweetsListBox.Items.Add(tweet.CreatedDate + ": " + tweet.Text);
                     }
                 }// end if
                 else
                 {
                     MessageBox.Show("No Tweets found for: " + searchTextBox.Text, "No tweets found", MessageBoxButtons.OK, MessageBoxIcon.Information);
                 } //end else
             }     //end if
             else
             {
                 MessageBox.Show("Number of tweets need to be greter than 0 ", "Invalid input", MessageBoxButtons.OK, MessageBoxIcon.Information);
             } //end else
         }     //End of try block
         //Catch exception: user input invalid type on number of tweets field
         catch (FormatException formatException)
         {
             MessageBox.Show("Invalid input in 'Number of tweets' field: \n" + numberTweetsTextBox.Text, "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
         }
         //Catch execption: there were no tweets found for the Twitter Account/Handle name
         catch (ArgumentNullException noTweets)
         {
             MessageBox.Show("No Tweets found for: " + searchTextBox.Text, "No tweets found", MessageBoxButtons.OK, MessageBoxIcon.Information);
         }
     }//end if
     else
     {
         MessageBox.Show("Tweeter handle/hashtag and number of tweets field cannot be empty", "Missing information", MessageBoxButtons.OK, MessageBoxIcon.Warning);
     } //end of else
 }     //end of searchByUserButton_Click
示例#13
0
        public IEnumerable <string> ReadTweet(string userName, int count)
        {
            var requestOptions = new ListTweetsOnUserTimelineOptions {
                ScreenName = userName, Count = count
            };
            var tweets = _twitterService.ListTweetsOnUserTimeline(requestOptions);

            if (tweets != null)
            {
                return(tweets.Select(x => x.Text));
            }
            throw new TwitterClientException("Пользователь с таким именем не найден!");
        }
示例#14
0
        public IEnumerable <TwitterStatus> GetTweets(string channelName, int tweetsNumber)
        {
            var options = new ListTweetsOnUserTimelineOptions()
            {
                ScreenName = channelName,
                Count      = tweetsNumber
            };

            if (options == null)
            {
                throw new TwitterApplicationExceptions(TwitterServiceExceptions.LoadTweets);
            }
            return(_service.ListTweetsOnUserTimeline(options));
        }
        //3-Tweets, 3200 Hard History Limit, 200 Per Batch
        public IEnumerable <TwitterStatus> GetTwitterTweets(string screenName, long maxId)
        {
            ListTweetsOnUserTimelineOptions options = new ListTweetsOnUserTimelineOptions();

            options.Count = 200;              //Twitter Max
            if (maxId > 0)
            {
                options.MaxId = maxId;
            }
            options.ScreenName = screenName;
            options.IncludeRts = true;

            IEnumerable <TwitterStatus> tweets = twitterService.ListTweetsOnUserTimeline(options);

            return(tweets);
        }
        /// <summary>
        /// Asynchronously retrieves <see cref="NewsFeed"/> information.
        /// </summary>
        /// <param name="cancellationToken">The optional token to monitor for cancellation requests.</param>
        /// <returns>A <see cref="Task{NewsFeed}"/> whose result yields the <see cref="NewsFeed"/> that contains the tweets.</returns>
        public async Task <NewsFeed> GetAsync(CancellationToken cancellationToken = default(CancellationToken))
        {
            try
            {
                TwitterService service = new TwitterService(_options.Value.ConsumerKey, _options.Value.ConsumerSecret);
                service.AuthenticateWith(_options.Value.AccessToken, _options.Value.AccessTokenSecret);
                var options = new ListTweetsOnUserTimelineOptions
                {
                    TweetMode  = TweetMode.Extended,
                    ScreenName = _options.Value.ScreenName,
                    Count      = _options.Value.Count
                };

                var result = await service.ListTweetsOnUserTimelineAsync(options);

                var twitterStatuses = result.Value.ToList();

                var newsFeed = new NewsFeed
                {
                    User = twitterStatuses.Select(t => new User()
                    {
                        Name            = t.User.Name,
                        ScreenName      = t.User.ScreenName,
                        ProfileImageUrl = t.User.ProfileImageUrl
                    }).FirstOrDefault(),

                    Tweets = twitterStatuses.Select(t => new Tweet()
                    {
                        Id           = t.Id,
                        CreatedDate  = t.CreatedDate,
                        Content      = t.FullText,
                        RetweetCount = t.RetweetCount,
                        Images       = t.ExtendedEntities?.Media // Null propagation.
                                       .Where(e => e.ExtendedEntityType == TwitterMediaType.Photo)
                                       .Select(e => e.MediaUrlHttps)
                                       .ToList()
                    }).ToList()
                };

                return(newsFeed);
            }
            catch (Exception exception)
            {
                _logger.LogError($"Unable to fetch the feed. Exception: {exception}");
                throw exception;
            }
        }
示例#17
0
        protected void load_tw_data()
        {
            //Session["twscreenname"] = "makhdumi";
            //if (Session["twtoken"] != null)
            //{
            //string updateStatusURL = "https://api.twitter.com/1.1/statuses/user_timeline.json?screenname=" + Session["twscreenname"].ToString();

            //string outUrl;
            //string OAuthHeaderPOST = OAuthUtility.GetAuthorizationHeaderForPost_OR_QueryParameterForGET(new Uri(updateStatusURL), callbackUrl, httpMethod.POST.ToString(), oauth_consumer_key, oauth_consumer_secret, oauth_access_token, oauth_token_secret, out outUrl);

            //HttpWebRequest request = (HttpWebRequest)WebRequest.Create(outUrl);
            ////request.Method = httpMethod.POST.ToString();
            //request.Headers["Authorization"] = OAuthHeaderPOST;
            //request.Method = "GET";
            //request.GetRequestStream();
            ////byte[] array = Encoding.ASCII.GetBytes(postData);
            ////request.GetRequestStream().Write(array, 0, array.Length);

            if (Session["twscreenname"] != null)
            {
                var service = new TwitterService(ConfigurationManager.AppSettings["twitter.appkey"].ToString(), ConfigurationManager.AppSettings["twitter.appsecret"].ToString());
                //service.AuthenticateWith(ConfigurationManager.AppSettings["twitter.accesstoken"].ToString(), ConfigurationManager.AppSettings["twitter.accesstokensecret"].ToString());
                service.AuthenticateWith(Session["twtoken"].ToString(), Session["twsecret"].ToString());
                ListTweetsOnUserTimelineOptions opt = new ListTweetsOnUserTimelineOptions {
                    ScreenName = Session["twscreenname"].ToString(), Count = 5
                };
                //IEnumerable<TwitterStatus> tweets = service.ListTweetsOnUserTimeline(new ListTweetsOnUserTimelineOptions { ScreenName = Session["twscreenname"].ToString(), Count = 5 });
                IEnumerable <TwitterStatus> tweets = service.ListTweetsOnUserTimeline(opt);
                if (tweets != null)
                {
                    foreach (var tweet in tweets)
                    {
                        twitter.InnerHtml = twitter.InnerHtml + "<li><img style=\"clear: both; float: left;\" src=\"" + tweet.Author.ProfileImageUrl + "\"/>";
                        twitter.InnerHtml = twitter.InnerHtml + "<p style=\"float: left;\" class=\"fblike\"><strong>@" + tweet.Author.ScreenName + "</strong><br>" + tweet.CreatedDate.ToString("MM/dd/yyyy") + "</p><br>";
                        twitter.InnerHtml = twitter.InnerHtml + ("<p style=\"clear: both;\"></p>");
                        twitter.InnerHtml = twitter.InnerHtml + "<p>" + tweet.Text + "</p>";
                        twitter.InnerHtml = twitter.InnerHtml + "</li><hr>";
                    }
                }
            }
            //appendlog(tweets.ToString());


            //}
        }
示例#18
0
        public List <TwitterStatus> GetTweetsFromServiceAsync(string account)
        {
            if (account == null || string.IsNullOrEmpty(account))
            {
                return(new List <TwitterStatus>());
            }
            var accountOptions = new ListTweetsOnUserTimelineOptions {
                ScreenName = account, Count = TweetsCount
            };
            IAsyncResult asyncresult = twitterService.BeginListTweetsOnUserTimeline(accountOptions);
            var          result      = twitterService.EndListTweetsOnHomeTimeline(asyncresult, TimeOut);

            if (!asyncresult.IsCompleted)
            {
                throw new TimeoutException();
            }
            return(result == null ? new List <TwitterStatus>() : result.ToList());
        }
示例#19
0
        private async Task <TwitterStatus> GetLatestTwitter(SocialMediaUserData ud, bool isNsfw)
        {
            ListTweetsOnUserTimelineOptions options = new ListTweetsOnUserTimelineOptions()
            {
                ScreenName = ud.Name,
                IncludeRts = false,
                Count      = 100,
                TweetMode  = "extended"
            };

            var tweets = await _service.ListTweetsOnUserTimelineAsync(options);

            TwitterStatus[] twitterStatuses;
            try
            {
                twitterStatuses = tweets.Value as TwitterStatus[] ?? tweets.Value.ToArray();
                if (!twitterStatuses.Any())
                {
                    return(null);
                }
            }
            catch
            {
                return(null);
            }

            TwitterStatus tweet = twitterStatuses.ElementAt(0);

            if (isNsfw)
            {
                if (tweet.ExtendedEntities == null || !tweet.ExtendedEntities.Any() || !tweet.ExtendedEntities.Media.Any() ||
                    tweet.ExtendedEntities.Media.ElementAt(0).ExtendedEntityType != TwitterMediaType.Photo)
                {
                    tweet.Id = -1;
                }
            }

            if (tweet.Id == 0 || tweet.IdStr == "" || tweet.IdStr == null)
            {
                return(null);
            }

            return(await Task.FromResult(tweet));
        }
示例#20
0
        static void Main()
        {
            string[] lines           = File.ReadAllLines("../../../settings.txt");
            string   _customerKey    = lines[0];
            string   _customerSecret = lines[1];
            string   _accessToken    = lines[2];
            string   _accessSecret   = lines[3];


            TwitterService service = new TwitterService(_customerKey, _customerSecret, _accessToken, _accessSecret);


            var options = new ListTweetsOnUserTimelineOptions()
            {
                UserId = 624953558, Count = 100, MaxId = null
            };                                                                                                 //Max ID is the ID of the furthest back tweet
            StringBuilder sb = new StringBuilder();
            int           i  = 0;
            int           x  = 0;

            while (i < 50)
            {
                var tweets = service.ListTweetsOnUserTimeline(options);

                foreach (var tweet in tweets)
                {
                    if (tweet.IsTruncated == false && !tweet.Text.Contains('@') && !tweet.Text.Contains("http"))
                    {
                        string text = tweet.Text.Replace("\n", " ");
                        sb.Append(text + "\n");
                        options.MaxId = tweet.Id;
                        //TRIM URLs OFF TWEETS!
                    }
                    else
                    {
                        Console.WriteLine(x.ToString());
                        x++;
                    }
                }
                i++;
            }
            File.WriteAllText(Path.Combine("../../../", "StockTD04Tweets.txt"), sb.ToString());
        }
示例#21
0
        public List <string> GetLatestTweets(int count)
        {
            List <string> output = new List <string>();
            ListTweetsOnUserTimelineOptions options = new ListTweetsOnUserTimelineOptions()
            {
                Count          = count,
                ExcludeReplies = true,
            };

            var tweets = Service.ListTweetsOnUserTimeline(options);

            if (tweets != null)
            {
                foreach (var tweet in tweets)
                {
                    output.Add(tweet.TextAsHtml);
                }
            }
            return(output);
        }
示例#22
0
        private IEnumerable <string> GetAllTweets()
        {
            var service = new TwitterService(Codes.TwitterKey, Codes.TwitterSecret);

            service.AuthenticateWith(Codes.TwitterAccessToken, Codes.TwitterAccessTokenSecret);

            var options = new ListTweetsOnUserTimelineOptions
            {
                Count      = 50,
                ScreenName = twitterHandle
            };

            var tweets = service.ListTweetsOnUserTimeline(options);

            if (tweets == null)
            {
                return(null);
            }
            return(tweets.Select(x => x.Text));
        }
示例#23
0
        private static void CheckTweet(string username)
        {
            var options = new ListTweetsOnUserTimelineOptions {
                ScreenName = username, Count = 1
            };

            foreach (TwitterStatus tweet in service.ListTweetsOnUserTimeline(options))
            {
                if (tweet.Id != LastTweetId)
                {
                    Tweet tweets = new Tweet()
                    {
                        Id         = Guid.NewGuid(),
                        Author     = tweet.Author.ScreenName.ToString(),
                        Text       = tweet.Text,
                        CreateDate = tweet.CreatedDate,
                        Media      = tweet.Entities.Media.ToString()
                    };

                    if (tweets.Media == "System.Collections.Generic.List`1[TweetSharp.TwitterMedia]")
                    {
                        TwitterStatus result = service.SendTweet(new SendTweetOptions
                        {
                            Status = tweet.Text
                        });
                    }
                    LastTweetId = tweet.Id;
                    Console.WriteLine(tweet.Id);
                    Console.WriteLine("Tweet opublikovan");
                }
                else
                {
                    Console.WriteLine("Takoi tweet uge est");
                }
            }
        }
示例#24
0
        public List <Tweet> GetTwitts(string userName, int count, string accessToken = null)
        {
            // Pass your credentials to the service
            TwitterService service = new TwitterService(OAuthConsumerKey, OAuthConsumerSecret);

            // Step 1 - Retrieve an OAuth Request Token
            OAuthRequestToken requestToken = service.GetRequestToken();

            // Step 4 - User authenticates using the Access Token
            service.AuthenticateWith(AccessToken, AccessKey);
            ListTweetsOnUserTimelineOptions tweetOptions = new ListTweetsOnUserTimelineOptions
            {
                ScreenName = userName,
                Count      = count,
                TweetMode  = TweetMode.Extended
            };
            var tweet = service.ListTweetsOnUserTimeline(tweetOptions);

            // created_at, text, truncated
            List <Tweet> list = new List <Tweet>();

            foreach (var t in tweet)
            {
                Tweet combine = new Tweet
                {
                    created_at = new DateTime(long.Parse(t.CreatedDate.Ticks.ToString()))
                };
                if (t.RetweetedStatus == null)
                {
                    if (t.FullText.ToString().Contains("https://t.co/"))
                    {
                        combine.text = t.FullText.ToString().Remove(t.FullText.ToString().IndexOf("https://t.co/"));
                    }
                    else
                    {
                        combine.text = t.FullText.ToString();
                    }
                    try
                    {
                        foreach (var entity in t.Entities.Media)
                        {
                            combine.media = entity.MediaUrlHttps;
                        }
                    }
                    catch
                    {
                    }
                    try
                    {
                        foreach (var entity in t.Entities.Urls)
                        {
                            combine.url = entity.ExpandedValue;
                        }
                    }
                    catch
                    {
                    }
                    try
                    {
                        foreach (var entity in t.ExtendedEntities.Media)
                        {
                            try
                            {
                                foreach (var video in entity.VideoInfo.Variants)
                                {
                                    combine.video = video.Url.ToString();
                                }
                            }
                            catch { }
                        }
                    }
                    catch
                    {
                    }
                }
                else
                {
                    if (t.RetweetedStatus.FullText.ToString().Contains("https://t.co/"))
                    {
                        combine.text = t.RetweetedStatus.FullText.ToString().Remove(t.RetweetedStatus.FullText.ToString().IndexOf("https://t.co/"));
                    }
                    else
                    {
                        combine.text = t.RetweetedStatus.FullText.ToString();
                    }
                    try
                    {
                        foreach (var entity in t.RetweetedStatus.Entities.Media)
                        {
                            combine.media = entity.MediaUrlHttps;
                        }
                    }
                    catch
                    {
                    }
                    try
                    {
                        foreach (var entity in t.RetweetedStatus.Entities.Urls)
                        {
                            combine.url = entity.ExpandedValue;
                        }
                    }
                    catch
                    {
                    }
                }
                list.Add(combine);
            }
            list.Reverse();
            return(list);
        }
示例#25
0
        // get by twitter username
        public Int32 fetch(string tag, Int32 count, Boolean is_username, Int32 event_id, Int32 template_id)
        {
            Int32 total = 0;

            var service = new TwitterService(_settings.twitter_api_key(), _settings.twitter_api_secret());

            service.AuthenticateWith(_settings.twitter_access_token(), _settings.twitter_access_token_secret());

            var options = new ListTweetsOnUserTimelineOptions();

            options.ScreenName     = tag;
            options.Count          = count;
            options.ExcludeReplies = true;
            options.IncludeRts     = false;

            var tweets = service.ListTweetsOnUserTimeline(options);

            foreach (TwitterStatus item in (tweets ?? Enumerable.Empty <TwitterStatus>()))
            {
                Media m = new Media();

                m.added_to_db_date = DateTime.Now;
                m.createdate       = item.CreatedDate;
                m.description      = item.Text;

                if (item.User != null)
                {
                    m.full_name  = item.User.Name;
                    m.link       = "https://twitter.com/" + item.User.ScreenName + "/status/" + item.Id.ToString();
                    m.profilepic = item.User.ProfileImageUrl;
                }

                if (item.Location != null)
                {
                    m.latitude  = item.Location.Coordinates.Latitude.ToString();
                    m.longitude = item.Location.Coordinates.Longitude.ToString();
                }

                if (item.Place != null)
                {
                    m.location_name = item.Place.FullName;
                }

                m.likes = item.RetweetCount;

                m.service = "Twitter";

                foreach (var hashtag in item.Entities.HashTags)
                {
                    m.tags += "#" + hashtag.Text + " ";
                }

                m.username = tag;

                m.event_id    = event_id;
                m.template_id = template_id;

                // ################## NOW THE IMAGE STUFF
                foreach (TwitterMedia photo in item.Entities.Media)
                {
                    m.source_id = photo.IdAsString;
                    m.source    = photo.MediaUrl + ":large";
                    m.width     = photo.Sizes.Large.Width;
                    m.height    = photo.Sizes.Large.Height;

                    if (photo.MediaType.ToString() != "Photo")
                    {
                        m.is_video = true;
                    }
                }

                m.source_id = item.IdStr;

                _media.add(m);

                total++;
            }

            return(total);
        }
示例#26
0
        public override async Task <TwitterAsyncResult <IEnumerable <TwitterStatus> > > ListTweetsOnUserTimelineAsync(ListTweetsOnUserTimelineOptions options)
        {
            if (options.ScreenName == "Fail")
            {
                return(null);
            }

            if (options.ScreenName == "NoStatus")
            {
                return(new TwitterAsyncResult <IEnumerable <TwitterStatus> >(null, null));
            }

            if (options.ScreenName == "EmptyStatus")
            {
                return(new TwitterAsyncResult <IEnumerable <TwitterStatus> >(new List <TwitterStatus>(), null));
            }

            long   id    = 123456789;
            string idStr = "chirp";

            if (options.ScreenName == "Updated")
            {
                id    = 987654321;
                idStr = "kaw-kaw";
            }

            if (options.ScreenName == "NoId")
            {
                idStr = "";
            }

            var extended = new TwitterExtendedEntities
            {
                Media = new List <TwitterExtendedEntity>
                {
                    new TwitterExtendedEntity {
                        ExtendedEntityType = TwitterMediaType.Photo
                    }
                }
            };

            if (options.ScreenName == "NotNsfw")
            {
                extended = null;
            }

            var status = new TwitterStatus
            {
                User = new TwitterUser {
                    ScreenName = options.ScreenName
                },
                ExtendedEntities = extended,
                Id    = id,
                IdStr = idStr
            };
            var statuses = new TwitterAsyncResult <IEnumerable <TwitterStatus> >(new[] { status }, null);

            return(await Task.FromResult(statuses));
        }