In den letzten zwei Tagen hab ich mit Hilfe der Twitter-Komponente und ein paar Cake Shell-Skripten die Seite 21tweets online gebracht. Die Idee dahinter war eine Möglichkeit zu bauen, mit der man via Twitter neue Gewohnheiten in 21 Tagen - daher 21tweets - erlernen kann.
Die Anwendung sammelt also Tweets auf Twitter ein, die an den Account @21T gehen und eine Gewohnheit mit einem Hashtag # markieren. Damit aber nicht jeder Tweet aufgenommen wird, muss zunĂ€chst die neue Gewohnheit bei 21tweets angemeldet werden. Ab dann kann gesammelt und angezeigt werden. Nur Tweets die an aufeinander folgenden Tagen getwittert werden, werden zur Statistik fĂŒr die Gewohnheit gezĂ€hlt. Falls man einen Tag auslĂ€sst, dann verfallen alle vorher gesammelten Tweets fĂŒr die ZĂ€hlung der 21-Tage-Statistik. Klar ?
Ein paar Problemchen und wie ich die umschifft habe, will ich hier kurz erklÀren:
- Ich wollte kein Login und keine Anmeldung
- Erkennung von neuen Anwendern durch die PrĂŒfung, ob der Twitterati dem Account von 21tweets @21T folgt.
- AusschlieĂen von Twitter-Bots mit Hilfe eines Validate-Links, wie es bei normalen Accounts gemacht wird.
- Abfrage von direct-messages zur Erkennung der Gewohnheit, die in den nÀchsten 21 Tagen praktiziert werden soll. Einfach via #hashtag in der DirectMessage
Eines der Probleme war die Erkennung von neuen Twitterati, die dem Account folgen. Mittlerweile hatte aber Twitter zwei neue Funktionen, die ich in einem der letzten Posts schon beschrieben habe, bereitgestellt. Damit lassen sich die neuen Follower recht einfach ermitteln, indem man einfach einen array_diff() auf die beiden Listen anwendet.
Es laufen insgesamt drei Backgroundjobs, die ĂŒber crontab angestossen werden und dafĂŒr verantwortlich sind:
- Die neuen Follower einzutragen und ebenfalls als Follower aufnehmen
- Neue Habits aus den Direct Messages zu filtern
- Neue Tweets aus den normalen Twitter-Meldungen zu filter, die an @21T gesendet werden und die praktizierte Gewohnheit mit einem Hashtag enthalten.
Jetzt fehlt eigentlich nur noch ein wenig Statistik und Auswertungen, damit das Ganze rund wird. Bis dahin
happy baking