/// <summary> /// Método que recebe um mensagem do cliente e faz um tweet dessa mensagem /// </summary> /// <param name="mensagem"> Texto da mensagem </param> /// <returns>Bool a indicar o sucesso da operação</returns> public bool Tweet(string mensagem) { // Atribui a informação necessaria para o OAuth var oauth = new OAuthInfo { AccessToken = accessToken, AccessSecret = accessTokenSecret, ConsumerKey = consumerKey, ConsumerSecret = consumerKeySecret }; try { // Utiliza o protocolo oauth para se ligar a api do twitter var twitter = new TinyTwitter.TinyTwitter(oauth); // Envia o Tweet twitter.UpdateStatus(mensagem); } catch (Exception e) { return(false); throw e; } return(true); }
private static TinyTwitter CreateTinyTwitter() { var oauth = GetOAuthInfo(); var twitter = new TinyTwitter(oauth); return(twitter); }
public void Tweet(string text) { string[] creds = File.ReadAllLines("./config.cfg"); OAuthInfo TInfo = new OAuthInfo(); TInfo.ConsumerKey = creds[0]; TInfo.ConsumerSecret = creds[1]; TInfo.AccessToken = creds[2]; TInfo.AccessSecret = creds[3]; TinyTwitter.TinyTwitter Manager = new TinyTwitter.TinyTwitter(TInfo); Manager.UpdateStatus(text.Replace("\n\n","")); }
public static void Main() { Log("Starting..."); Console.CancelKeyPress += delegate { Log("Exiting..."); try { User.LogOff(); Client.Disconnect(); } catch { Log("Failed to disconnect from Steam"); } IsRunning = false; }; Configuration = JsonConvert.DeserializeObject <Configuration>(File.ReadAllText("settings.json"), new JsonSerializerSettings { MissingMemberHandling = MissingMemberHandling.Error }); Twitter = new TinyTwitter.TinyTwitter(Configuration.Twitter); var callbackManager = new CallbackManager(Client); callbackManager.Subscribe <SteamClient.ConnectedCallback>(OnConnected); callbackManager.Subscribe <SteamClient.DisconnectedCallback>(OnDisconnected); callbackManager.Subscribe <SteamUser.LoggedOnCallback>(OnLoggedOn); callbackManager.Subscribe <SteamUser.LoggedOffCallback>(OnLoggedOff); callbackManager.Subscribe <SteamUser.UpdateMachineAuthCallback>(OnMachineAuth); callbackManager.Subscribe <SteamUser.AccountInfoCallback>(OnAccountInfo); callbackManager.Subscribe <SteamFriends.ClanStateCallback>(OnClanState); Client.Connect(); var reconnectTime = TimeSpan.FromHours(6); new Timer(state => Client.Disconnect(), null, reconnectTime, reconnectTime); while (IsRunning) { callbackManager.RunWaitCallbacks(TimeSpan.FromSeconds(5)); } }
public void Write_tweets_and_read_timeline() { var oauth = GetOAuthInfo(); var twitter = new TinyTwitter(oauth); var status = Guid.NewGuid().ToString(); twitter.UpdateStatus(status); // Wait a little to let twitter update timelines Thread.Sleep(TimeSpan.FromSeconds(3)); var tweets = twitter.GetHomeTimeline(); Assert.AreEqual(status, tweets.First().Text); }
public static void Main(string[] args) { //Load config XmlData config; try { config=new XmlData("tweetstatus.xml"); } catch(Exception e) { Console.WriteLine("Konfiguration konnte nicht gelesen werden."); Console.WriteLine(e.ToString()); return; } string miscCheckCertificates=config.GetElementAsString("xml.misc.checkcertificates"); if(miscCheckCertificates.ToLower()=="false") { //Disable certificate check ServicePointManager.ServerCertificateValidationCallback=delegate { return true; }; } string apiToken=config.GetElementAsString("xml.api.token"); string apiUrl=config.GetElementAsString("xml.api.url"); string twitterConsumerKey=config.GetElementAsString("xml.twitter.consumerkey"); string twitterConsumerSecret=config.GetElementAsString("xml.twitter.consumersecret"); string twitterAccessToken=config.GetElementAsString("xml.twitter.accesstoken"); string twitterAccessTokenSecret=config.GetElementAsString("xml.twitter.accesstokensecret"); //Create twitter token OAuthInfo token=null; if(twitterAccessToken==""||twitterAccessTokenSecret=="") { Console.WriteLine("Set access token in config file"); return; } else { token=new OAuthInfo { AccessToken=twitterAccessToken, AccessSecret=twitterAccessTokenSecret, ConsumerKey=twitterConsumerKey, ConsumerSecret=twitterConsumerSecret }; } //Check status database Console.WriteLine("Check status database"); //Database RestClient client=new RestClient(apiUrl); string parameters=String.Format("entities/?token={0}", apiToken); string value=client.Request(parameters); int entityCount=Convert.ToInt32(value); Console.WriteLine("Entity count from api: {0}", entityCount); //Check status file and tweet if nessesary //Load known entries string entryFile="status.txt"; Entry oldStatus=new Entry(0); if(File.Exists(entryFile)) { oldStatus=new Entry(File.ReadAllLines(entryFile)[0]); } Entry newStatus=new Entry(entityCount); if(oldStatus!=newStatus) { //Tweet DateTime now=DateTime.Now; string datetimeHash="#"+CRC16.ComputeChecksum(BitConverter.GetBytes(now.Ticks)).ToString("x4"); string statusGreen=String.Format("Der Hackerspace ist besetzt ({0}:{1:00} Uhr) und kann besucht werden. #status {2}", now.Hour, now.Minute, datetimeHash); string statusYellow=""; string statusRed=String.Format("Der Hackerspace ist nicht mehr besetzt ({0}:{1:00} Uhr). #status {2}", now.Hour, now.Minute, datetimeHash); string tweetText=""; if(newStatus.EntityCount==0) { tweetText=statusRed; } else { if(oldStatus.EntityCount>0) { Console.WriteLine("Update not necessary."); return; } tweetText=statusGreen; } bool success=true; try { Console.WriteLine("Token: {0}", token.ToString()); var twitter=new TinyTwitter.TinyTwitter(token); twitter.UpdateStatus(tweetText); } catch(Exception ex) { Console.WriteLine(ex.ToString()); success=false; } if(success) { //Write success on console Console.WriteLine("Tweet sended: {0}", tweetText); //Write new status File.WriteAllText(entryFile, newStatus.ToString()); } else { Console.WriteLine("Tweet not sended: {0}", tweetText); } } }