/// <summary>
        /// Initializes the command.
        /// </summary>
        public override void Init()
        {
            DirectMessagesOptions options = this.OptionalProperties as DirectMessagesOptions;

            if (options == null)
            {
                this.RequestParameters.Add("page", "1");

                return;
            }

            if (options.SinceStatusId > 0)
            {
                this.RequestParameters.Add("since_id", options.SinceStatusId.ToString(CultureInfo.InvariantCulture));
            }

            if (options.MaxStatusId > 0)
            {
                this.RequestParameters.Add("max_id", options.MaxStatusId.ToString(CultureInfo.InvariantCulture));
            }

            if (options.Count > 0)
            {
                this.RequestParameters.Add("count", options.Count.ToString(CultureInfo.InvariantCulture));
            }

            if (options.IncludeEntites)
            {
                this.RequestParameters.Add("include_entities", "true");
            }

            this.RequestParameters.Add("page", options.Page > 0 ? options.Page.ToString(CultureInfo.InvariantCulture) : "1");
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="DirectMessagesCommand"/> class.
 /// </summary>
 /// <param name="tokens">The request tokens.</param>
 /// <param name="options">The options.</param>
 public DirectMessagesCommand(OAuthTokens tokens, DirectMessagesOptions options)
     : base(HTTPVerb.GET, "direct_messages.json", tokens, options)
 {
     if (tokens == null)
     {
         throw new ArgumentNullException("tokens");
     }
 }
Ejemplo n.º 3
0
        public static TwitterDirectMessageCollection GetDms(string SenderScreenName)
        {
            var vUser = GetUser(SenderScreenName);

            if (vUser == null)
            {
                return(null);
            }
            TwitterDirectMessageCollection message = new TwitterDirectMessageCollection();

            if (!Classes.AppSetting.UseProxy || string.IsNullOrWhiteSpace(vUser.ProxyAddress))
            {
                OAuthTokens Oa = GetUserOAuthTokens(SenderScreenName);
                var         v  = Twitterizer.TwitterDirectMessage.DirectMessages(Oa);
                var         v2 = Twitterizer.TwitterDirectMessage.DirectMessagesSent(Oa);
                if (v.Result == RequestResult.Success)
                {
                    foreach (var item in v.ResponseObject)
                    {
                        message.Add(item);
                    }
                }
                else if (v.Result == RequestResult.Unauthorized)
                {
                    LoginUser(vUser.ScreenName, vUser.Name, vUser.ProxyAddress);
                    return(GetDms(SenderScreenName));
                }

                if (v2.Result == RequestResult.Success)
                {
                    foreach (var item in v2.ResponseObject)
                    {
                        message.Add(item);
                    }
                }
                else if (v.Result == RequestResult.Unauthorized)
                {
                    LoginUser(vUser.ScreenName, vUser.Name, vUser.ProxyAddress);
                    return(GetDms(SenderScreenName));
                }



                //message = new TwitterDirectMessageCollection();
            }
            else
            {
                var Proxy = vUser.ProxyAddress;

                var                   option = new OptionalProperties();
                OAuthTokens           Oa     = GetUserOAuthTokens(SenderScreenName);
                DirectMessagesOptions op     = new DirectMessagesOptions();
                op.Proxy = GetProxy(Proxy);
                var v  = Twitterizer.TwitterDirectMessage.DirectMessages(Oa, op);
                var v2 = Twitterizer.TwitterDirectMessage.DirectMessagesSent(Oa, new DirectMessagesSentOptions()
                {
                    Proxy = op.Proxy
                });

                if (v.Result == RequestResult.Success)
                {
                    foreach (var item in v.ResponseObject)
                    {
                        message.Add(item);
                    }
                }
                else if (v.Result == RequestResult.Unauthorized)
                {
                    LoginUser(vUser.ScreenName, vUser.Name, vUser.ProxyAddress);
                    return(GetDms(SenderScreenName));
                }
                if (v2.Result == RequestResult.Success)
                {
                    foreach (var item in v2.ResponseObject)
                    {
                        /*message.Add(new DMMessage()
                         * {
                         *  DateSended = item.CreatedDate,
                         *  From = item.Sender.ScreenName,
                         *  Message = item.Text,
                         *  Title = item.Text,
                         *  To = item.RecipientScreenName
                         * });*/

                        message.Add(item);
                    }
                }
                else if (v.Result == RequestResult.Unauthorized)
                {
                    LoginUser(vUser.ScreenName, vUser.Name, vUser.ProxyAddress);
                    return(GetDms(SenderScreenName));
                }


                //message = message.OrderByDescending(aa => aa.DateSended).ToList();
            }

            return(message);
        }