ChronoTweet ist ein kleines Pythonskript welches alle Twittereinträge innerhalb einer bestimmten Zeitspanne wieder löscht. Da Twitter nun nur noch Authentifizierung mittels OAuth zulässt, habe ich das ganze mal daran angepasst. Das Skript steht dabei unter der GPLv3 Lizenz und ist in der aktuellen Version unter http://code.google.com/p/seeseekey/source/browse/trunk/Python/chronotweet.py zu finden. Viel Spaß damit :)
ChronoTweet 0.30
Aus meinen Bedürfnis heraus bestimmte Tweets nach einer bestimmten Zeit wieder zu löschen entstand folgendes kleines Skript, welches hier nun in der Version 0.30 vorliegt. Es wurde ein Fehler behoben der verhinderte das die Tweets gelöscht werden wenn man zu viele Tweets in der vorgebenden Zeit geschrieben hat:
# ChronoTweet v0.30 # https://seeseekey.net # # Installation # http://pypi.python.org/pypi/simplejson installieren (apt-get install python-simplejson) # http://code.google.com/p/python-twitter/ installieren # wget http://python-twitter.googlecode.com/files/python-twitter-0.6.tar.gz # tar -xf python-twitter-0.6.tar.gz # cd python-twitter-0.6 # python setup.py build # python setup.py install # # chrono_tweet - Dateirechte 700 # crontab -e # Import import time import twitter # Optionen twitter_account_name = "seeseekey" twitter_account_password = "1234567890" remove_time_in_seconds = 151200 # 42 Stunden hashtag_sensitive=False hashtag="#ChronoTweet" # Programmlogik api = twitter.Api(username=twitter_account_name, password=twitter_account_password) stati = api.GetUserTimeline(twitter_account_name, 9999999) for s in stati: #Fuer jeden Status currentTime = time.mktime(time.localtime(time.time())) createTime = s.GetCreatedAtInSeconds() diffTime = currentTime-createTime if diffTime > remove_time_in_seconds: #Wenn Zeit groesser remove_time_in_seconds if hashtag_sensitive==True: if s.text.find(hashtag) != -1: #Wenn ChronoTweet print(s.id) api.DestroyStatus(s.id) else: print(s.id) api.DestroyStatus(s.id)
ChronoTweet 0.20
Aus meinen Bedürfnis heraus bestimmte Tweets nach einer bestimmten Zeit wieder zu löschen entstand folgendes kleines Skript, welches hier nun in der Version 0.20 vorliegt in welcher man einstellen kann nach welchem Hashtag gesucht werden soll und ob überhaupt nach einem Hashtag gesucht werden soll:
# ChronoTweet v0.20 # https://seeseekey.net # # Installation # http://pypi.python.org/pypi/simplejson installieren (apt-get install python-simplejson) # http://code.google.com/p/python-twitter/ installieren # wget http://python-twitter.googlecode.com/files/python-twitter-0.6.tar.gz # tar -xf python-twitter-0.6.tar.gz # cd python-twitter-0.6 # python setup.py build # python setup.py install # # chrono_tweet - Dateirechte 700 # crontab -e # Import import time import twitter # Optionen twitter_account_name = "seeseekey" twitter_account_password = "123456789" remove_time_in_seconds = 151200 # 42 Stunden hashtag_sensitive=True hashtag="#ChronoTweet" # Programmlogik api = twitter.Api(username=twitter_account_name, password=twitter_account_password) stati = api.GetUserTimeline(twitter_account_name) for s in stati: #Fuer jeden Status currentTime = time.mktime(time.localtime(time.time())) createTime = s.GetCreatedAtInSeconds() diffTime = currentTime-createTime if diffTime > remove_time_in_seconds: #Wenn Zeit groesser remove_time_in_seconds if hashtag_sensitive==True: if s.text.find(hashtag) != -1: #Wenn ChronoTweet print(s.id) api.DestroyStatus(s.id) else: print(s.id) api.DestroyStatus(s.id)
Twitter und der #ChronoTweet
Aus meinen Bedürfnis heraus bestimmte Tweets nach einer bestimmten Zeit wieder zu löschen entstand folgendes kleines Skript:
# ChronoTweet v0.10 # https://seeseekey.net # # Installation # http://pypi.python.org/pypi/simplejson installieren (apt-get install python-simplejson) # http://code.google.com/p/python-twitter/ installieren # wget http://python-twitter.googlecode.com/files/python-twitter-0.6.tar.gz # tar -xf python-twitter-0.6.tar.gz # cd python-twitter-0.6 # python setup.py build # python setup.py install # # chrono_tweet - Dateirechte 700 # crontab -e # Import import time import twitter # Optionen twitter_account_name = "seeseekey" twitter_account_password = "1234567890" chrono_tweet_remove_time_in_seconds = 151200 # 42 Stunden # Programmlogik api = twitter.Api(username=twitter_account_name, password=twitter_account_password) stati = api.GetUserTimeline(twitter_account_name) for s in stati: #Fuer jeden Status currentTime = time.mktime(time.localtime(time.time())) createTime = s.GetCreatedAtInSeconds() diffTime = currentTime-createTime if diffTime > chrono_tweet_remove_time_in_seconds: if s.text.find("#ChronoTweet") != -1: #Wenn #ChronoTweet print(s.id) api.DestroyStatus(s.id)
Das Skript überprüft ob Einträge mit dem Hashtag #ChronoTweet älter als 42 Stunden sind und löscht sie dann wenn dies der Fall ist.