public TwitterAccount(ManagerTwitter objManager)
 {
     // Asigna el manager
         Manager = objManager;
     // Inicializa los comandos
         MessageCommand = new DirectMessageCommands(this);
         StatusCommand = new StatusCommands(this);
         UserCommand = new UserCommands(this);
         TrendCommand = new TrendCommands(this);
 }
        /// <summary>
        ///		Carga las cuentas de un archivo
        /// </summary>
        public static void Load(string strFileName, ManagerTwitter objManager)
        {
            TwitterAccountsCollection objColAccounts = new TwitterAccountsCollection();

                if (System.IO.File.Exists(strFileName))
                    {	MLFile objMLFile = new MLSerializer().Parse(MLSerializer.SerializerType.XML, strFileName);

                            // Recorre los nodos
                                foreach (MLNode objMLNode in objMLFile.Nodes)
                                    if (objMLNode.Name == cnstStrTagRoot)
                                        foreach (MLNode objMLAccount in objMLNode.Nodes)
                                            if (objMLAccount.Name == cnstStrTagAccount)
                                                { TwitterAccount objAccount = new TwitterAccount(objManager);

                                                        // Asigna los datos
                                                            objAccount.ID = objMLAccount.Nodes[cnstStrTagID].Value;
                                                            objAccount.ScreenName = objMLAccount.Nodes[cnstStrTagUser].Value;
                                                            objAccount.OAuthToken = objMLAccount.Nodes[cnstStrTagOAuthToken].Value;
                                                            objAccount.OAuthTokenSecret = objMLAccount.Nodes[cnstStrTagOAuthTokenSecret].Value;
                                                        // Añade la cuenta a la colección
                                                            objManager.Accounts.Add(objAccount);
                                                }
                    }
        }
        /// <summary>
        ///		Obtiene una instancia de la librería de Twitter
        /// </summary>
        private ManagerTwitter GetInstance(TwitterAccount objAccount)
        {
            ManagerTwitter objTwitter = new ManagerTwitter();

            // Configura el objeto de envío de Twitter
              objTwitter.OAuthConsumerKey = BotManager.OAuthConsumerKey;
              objTwitter.OAuthConsumerSecret = BotManager.OAuthConsumerSecret;
            // Añade la cuenta
              objTwitter.Accounts.Add(GetAccount(objTwitter, objAccount));
            // Devuelve la librería de Twitter inicializada
              return objTwitter;
        }
        /// <summary>
        ///		Obtiene una cuenta para Twitter
        /// </summary>
        private TwitterAccount GetAccount(ManagerTwitter objTwitter, TwitterAccount objAccount)
        {
            TwitterAccount objAccountTwitter = new TwitterAccount(objTwitter);

            // Asigna las propiedades
              objAccountTwitter.ID = Guid.NewGuid().ToString();
              objAccountTwitter.ScreenName = objAccount.ScreenName;
              objAccountTwitter.OAuthToken = objAccount.OAuthToken;
              objAccountTwitter.OAuthTokenSecret = objAccount.OAuthTokenSecret;
            // Devuelve la cuenta
              return objAccountTwitter;
        }
 public TwitterMessengerManager(ManagerTwitter objBotManager)
 {
     BotManager = objBotManager;
 }