예제 #1
0
        public void OnLoad()
        {
            lastCheckTime = DateSync.GetLastCheckDate();

            var mentionOptions = new ListTweetsMentioningMeOptions
            {
                Count = 20,
            };

            var dmOption = new ListDirectMessagesReceivedOptions
            {
                Count = 20,
            };
            
            foreach (var account in Config.Accounts)
            {
                if (account.Preferences.MentionsPreferences != Library.Notifications.NotificationType.None)
                {
                    IsLoading = true;
                    Interlocked.Increment(ref requestsPending);
                    ServiceDispatcher.GetService(account).ListTweetsMentioningMe(mentionOptions, (t, r) => FilterAndAddStatuses(t.Cast<ITweetable>(), r)); // Ugh.
                }
                if (account.Preferences.MessagesPreferences != Library.Notifications.NotificationType.None)
                {
                    IsLoading = true;
                    Interlocked.Increment(ref requestsPending);
                    ServiceDispatcher.GetService(account).ListDirectMessagesReceived(dmOption, (t, r) => FilterAndAddStatuses(t.Cast<ITweetable>(), r));
                }
            }
#if WP8
            this.LoadFinished += (s, e) => SpeakNotifications();
#endif
        }
예제 #2
0
        static public List <TwitterItem> getDirectMessages(TwitterService service, AccountTwitter account, DoWorkEventArgs e, decimal minimumId)
        {
            IEnumerable <TwitterDirectMessage> directMessages;
            List <TwitterItem> allTweets = new List <TwitterItem>();

            try
            {
                ListDirectMessagesReceivedOptions options = new TweetSharp.ListDirectMessagesReceivedOptions();

                options.Count = Properties.Settings.Default.TwitterItemsFetchInPast;
                // options.IncludeEntities = true;

                if (minimumId >= 0)
                {
                    options.SinceId = Convert.ToInt64(minimumId);
                }

                IAsyncResult result = service.BeginListDirectMessagesReceived(options);
                directMessages = service.EndListDirectMessagesReceived(result);

                foreach (TwitterDirectMessage directMessage in directMessages)
                {
                    if (e != null)
                    {
                        if (e.Cancel)
                        {
                            AppController.Current.Logger.writeToLogfile("Cancel received for direct messages");
                            break;
                        }
                    }
                    allTweets.Add(API.TweetSharpConverter.getItemFromDirectMessage(directMessage, account));
                }
            }
            catch
            {
                // xxx
            }
            return(allTweets);
        }
		public virtual void ListDirectMessagesReceived(ListDirectMessagesReceivedOptions options, Action<IEnumerable<TwitterDirectMessage>, TwitterResponse> action)
		{
			var since_id = options.SinceId;
			var max_id = options.MaxId;
			var count = options.Count;
			var include_entities = options.IncludeEntities;
			var skip_status = options.SkipStatus;
			
			WithHammock(action, "direct_messages", FormatAsString, "?since_id=", since_id, "&max_id=", max_id, "&count=", count, "&include_entities=", include_entities, "&skip_status=", skip_status);
		}
		public virtual IAsyncResult BeginListDirectMessagesReceived(ListDirectMessagesReceivedOptions options)
		{
			var since_id = options.SinceId;
			var max_id = options.MaxId;
			var count = options.Count;
			var include_entities = options.IncludeEntities;
			var skip_status = options.SkipStatus;
				

			return BeginWithHammock<IEnumerable<TwitterDirectMessage>>(WebMethod.Get, "direct_messages", FormatAsString, "?since_id=", since_id, "&max_id=", max_id, "&count=", count, "&include_entities=", include_entities, "&skip_status=", skip_status);
		}
		public virtual Task<TwitterResponse<IEnumerable<TwitterDirectMessage>>> ListDirectMessagesReceivedAsync(ListDirectMessagesReceivedOptions options)
		{
			var since_id = options.SinceId;
			var max_id = options.MaxId;
			var count = options.Count;
			var include_entities = options.IncludeEntities;
			var skip_status = options.SkipStatus;
				
			
			return ExecuteRequest<IEnumerable<TwitterDirectMessage>>("direct_messages", FormatAsString, "?since_id=", since_id, "&max_id=", max_id, "&count=", count, "&include_entities=", include_entities, "&skip_status=", skip_status);
		}
		public virtual Task<TwitterAsyncResult<IEnumerable<TwitterDirectMessage>>> ListDirectMessagesReceivedAsync(ListDirectMessagesReceivedOptions options)
		{
			var since_id = options.SinceId;
			var max_id = options.MaxId;
			var count = options.Count;
			var include_entities = options.IncludeEntities;
			var skip_status = options.SkipStatus;
			var full_text = options.FullText;
			
			return WithHammockTask<IEnumerable<TwitterDirectMessage>>(_client, "direct_messages", FormatAsString, "?since_id=", since_id, "&max_id=", max_id, "&count=", count, "&include_entities=", include_entities, "&skip_status=", skip_status, "&full_text=", full_text);
		}