Example #1
0
        // ユーザーのお気に入りを取得
        public static async Task <ListedResponse <Status> > FavoritesList(long?userId, long?maxId = null)
        {
            if (tokens != null)
            {
                ListedResponse <Status> favorites = null;

                try
                {
                    if (userId != null)
                    {
                        favorites = await tokens.Favorites.ListAsync(id : (long)userId, max_id : maxId);
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                    return(null);
                }

                if (favorites != null)
                {
                    return(favorites);
                }
                else
                {
                    MessageBox.Show("取得失敗");
                    return(null);
                }
            }
            else
            {
                return(null);
            }
        }
        private string getVideoUrlFromTweetId(string tweetId)
        {
            long tweetIdLong;

            long.TryParse(tweetId, out tweetIdLong);
            List <long> tweetIdList = new List <long>();

            tweetIdList.Add(tweetIdLong);
            ListedResponse <Status> statusList = App.t.Statuses.Lookup(tweetIdList, false, true);
            Status targetStatus = statusList[0];

            VideoVariant[] videoInfoList = targetStatus.ExtendedEntities.Media[0].VideoInfo.Variants;
            int            tmpBitrate    = -1;
            string         result        = "";

            foreach (VideoVariant videoInfo in videoInfoList)
            {
                if (videoInfo.ContentType == "video/mp4")
                {
                    if (videoInfo.Bitrate > tmpBitrate)
                    {
                        tmpBitrate = (int)videoInfo.Bitrate;
                        result     = videoInfo.Url;
                    }
                }
            }
            return(result);
        }
Example #3
0
        // ユーザータイムライン取得
        public static async Task <ListedResponse <Status> > GetUserTimeline(long?userId, long?maxId = null)
        {
            if (tokens != null)
            {
                ListedResponse <Status> statuses = null;

                try
                {
                    if (userId != null)
                    {
                        statuses = await tokens.Statuses.UserTimelineAsync(user_id : (long)userId, max_id : maxId);
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                    return(null);
                }

                if (statuses != null)
                {
                    return(statuses);
                }
                else
                {
                    MessageBox.Show("取得失敗");
                    return(null);
                }
            }
            else
            {
                return(null);
            }
        }
Example #4
0
 static Tym[] InternalUpdate(Tokens tokens, string ids)
 {
     Console.ForegroundColor = ConsoleColor.Cyan;
     Console.WriteLine("START REQUEST");
     Console.ForegroundColor = ConsoleColor.Gray;
     try
     {
         ListedResponse <User>       users       = tokens.Users.Lookup(user_id => ids);
         ListedResponse <Friendship> friendships = tokens.Friendships.Lookup(user_id => ids);
         Tym[] response = new Tym[users.Count];
         int   i        = 0;
         foreach (User user in users)
         {
             Friendship fs = friendships.Where((x) => x.Id == user.Id).FirstOrDefault();
             if (fs == null)
             {
                 continue;
             }
             response[i] = new Tym(user, fs.Connections.Contains("following"));
             i++;
         }
         return(response);
     }
     catch (Exception e)
     {
         Console.ForegroundColor = ConsoleColor.Red;
         Console.WriteLine("リクエストに失敗しました。: " + e.Message);
         Console.ForegroundColor = ConsoleColor.Gray;
         throw e;
     }
 }
Example #5
0
        /// <summary>
        /// ListResponse&lt;Status&gt; を使用して新しいステータスを現在のタイムラインに追加します。
        /// </summary>
        /// <param name="response">追加するステータスの ListedResponse。</param>
        public void NewStatusRange(ListedResponse <Status> response)
        {
            JsFront.Statuses.AddRange(response.OrderBy(s => s.Id));

            if (webBrowser.ReadyState == WebBrowserReadyState.Complete)
            {
                webBrowser.Document.InvokeScript(ConfigurationManager.AppSettings["AddStatusRangeFunctionName"] as string, new object[] { response.Json });
            }
        }
Example #6
0
        private List <DirectMessage> getDm()
        {
            ListedResponse <DirectMessage> received = this.account.TokensData.DirectMessages.Received(count => 100);
            ListedResponse <DirectMessage> sent     = this.account.TokensData.DirectMessages.Sent(count => 100);

            List <DirectMessage> dm1 = new List <DirectMessage>();

            dm1.AddRange(received);
            dm1.AddRange(sent);

            var query = dm1.OrderByDescending(x => x.CreatedAt);
            List <DirectMessage> dm2 = query.ToList <DirectMessage>();

            return(dm2);
        }
Example #7
0
        public void SetTimeLine()
        {
            try
            {
                this.timeLine.Clear();
                ListedResponse <Status> list = null;

                switch (this.mode)
                {
                case TimeLineMode.Home:
                    list = this.account.TokensData.Statuses.HomeTimeline(count => 100);
                    break;

                case TimeLineMode.Mention:
                    list = this.account.TokensData.Statuses.MentionsTimeline(count => 100);
                    break;

                case TimeLineMode.Fav:
                    list = this.account.TokensData.Favorites.List(count => 100);
                    break;

                default:
                    break;
                }

                if (list == null)
                {
                    return;
                }

                foreach (Status status in list)
                {
                    TimeLineItem item = new TimeLineItem(status, this.account.ScreenName);
                    this.timeLine.Add(item);
                }
            }
            catch (TwitterException tex)
            {
                MessageBox.Show(tex.Message,
                                "Twitter Exception.",
                                MessageBoxButton.OK,
                                MessageBoxImage.Warning);
            }
        }
Example #8
0
        public void EraseAllTweets(bool silence)
        {
            var  user   = tokens.Account.VerifyCredentials(include_email: false);
            long userId = user.Id.Value;

            ListedResponse <Status> timeline = null;
            long?maxId = null;

            do
            {
                timeline = tokens.Statuses.UserTimeline(count: 200, max_id: maxId, exclude_replies: false);
                foreach (var status in timeline)
                {
                    Status retweetedStatus = status.RetweetedStatus;
                    if (retweetedStatus != null)
                    {
                        if (!silence)
                        {
                            Console.WriteLine("unretweeting - " + status.Text);
                        }
                        tokens.Statuses.Unretweet(retweetedStatus.Id, true);
                    }
                    else
                    {
                        if (!silence)
                        {
                            Console.WriteLine("deleting - " + status.Text);
                        }
                        tokens.Statuses.Destroy(status.Id);
                    }

                    if (!maxId.HasValue || status.Id < maxId.Value)
                    {
                        maxId = status.Id - 1L;
                    }
                }
            }while (timeline.Count > 0);
        }
Example #9
0
        // ホームタイムライン取得
        public static async Task <ListedResponse <Status> > GetHomeTimeline(long?maxId = null)
        {
            if (tokens != null)
            {
                ListedResponse <Status> statuses = null;

                try
                {
                    if (maxId == null)
                    {
                        statuses = await tokens.Statuses.HomeTimelineAsync();
                    }
                    else
                    {
                        statuses = await tokens.Statuses.HomeTimelineAsync(max_id : maxId);
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }

                if (statuses != null)
                {
                    return(statuses);
                }
                else
                {
                    MessageBox.Show("タイムライン取得失敗");
                    return(null);
                }
            }
            else
            {
                return(null);
            }
        }
Example #10
0
        public string getCurrentUser()
        {
            ListedResponse <Status> statuses = authenticator.getTokens().Statuses.UserTimeline(count => 1);

            return(statuses.First().User.ScreenName);
        }
Example #11
0
        private string getCurrentUser()
        {
            ListedResponse <Status> statuses = twitterAuth.getTokens().Statuses.UserTimeline(count => 1);

            return(statuses.First().User.ScreenName);
        }