Diese Seite

... und der Pfad hierher:

Startseite > Tutorials > Twitter-auto-retweet

... wurde zuletzt überarbeitet am

03.02.2010 - 20:55

... hat einen Fehler?!

- Name
- Email
- Seite
- Fehler

... bookmarken

RSS  Mr. Wong  Linkarena  Digg  Del.icoi.us  Google  facebook

... twittern

Außerhalb von minus78

Follow me

Twitter Logo  DailyBooth Logo  Deviantart Logo 

Meine andere Website

Twitter

Auto-Retweet-Bot

Zuerst sollten wir uns über die Frage "Was soll eigentlich retweetet werden?" Gedanken machen. Einfache Regeln sind dabei:
Steht unser Thema des Auto-Retweet-Bots fest, nutzen wir die twitter-interne Suchfunktion
minus78 auto retweet bot 01
Da der Bot später mittels des Feeds unserer Suche konfiguriert wird, brauchen wir die URL zu dem RSS-Feed. Dieses geschieht über den Button "RSS Feed for this query".
minus78 auto retweet bot 02
minus78 auto retweet bot 03
Diese URL kopieren wir zwecks Weiterverarbeitung.

Da twitter es unterbindet interne RSS-Feeds einzuspeisen, müssen wir den Weg über eine Pipe gehen. Der beste Dienst dafür ist wohl YAHOO!-Pipes. Hier erstellen wir einfach eine neue Pipe:
minus78 auto retweet bot 04
Links finden wir eine Menüleiste vor, die uns das Leben per vordefinierter Elemente vereinfacht. Diese Elemente können ganz einfach per Drag & Drop in das rechte Feld gezogen werden. Da wir den RSS-Feed unserer Suche ausgeben wollen, ziehen wir das Element "Fetch Feed" (Menüpunkt "Sources") in unser Pipe-Feld.
minus78 auto retweet bot 05
Anschließend kopieren wir die URL, die wir von twitter als RSS-Feed unserer Suche erhalten haben in das Feld. Sollen mehrere Feeds eingespeist werden, können wir hier auch mittels Klick auf das "+" mehrere Feeds einfügen. Ich habe in diesem Falle "Kann mir jemand sagen" und "Kann mir jemand helfen" eingespeist (s. links). Eine Vorschau der ausgehenden Ergebnisse finden wir im Fuße der Seite (s. rechts).
minus78 auto retweet bot 06       minus78 auto retweet bot 07
Da wir aber aufgrund von Redundanz keine doppelten Inhalte ausgeben wollen, setzen wir anschließend einen Filter ein, der das Retweeten von RT´s unterbinden soll. Das Element "Filter" befindet sich unter dem Menüpunkt "Operators" (s. links).
Ein Blick auf die XML der Twittersuche verrät uns, dass ein Post als "title" definiert wird. Unter Filter geben wir nun ein, dass Posts, in denen "RT" steht, nicht gepostet werden sollen (s. rechts)
minus78 auto retweet bot 08       minus78 auto retweet bot 09
Für die Ausgabe der Tweets benutzen wir eine Schleife, die einen String-Builder enthält. Diese benötigen wir, um nicht nur den Tweet, sondern auch den Absender des Tweets zu posten. Ein String-Builder ist also eine Methode, die einem String (für alle Nicht-Programmierer: Ein String ist eine Zeichenfolge) einen anderen String anhängt.
minus78 auto retweet bot 10       minus78 auto retweet bot 11
Hier teilen wir mit, dass wir nicht nur den Post ("item.title"), sondern auch die URL des Absenders benötigen ("item.author.uri"). Da dieses für jeden der Tweets geschehen soll, ist das Ganze wie oben beschrieben, in einer Schleife platziert. Die Abbruchbedingung lautet wie folgt: "For each item in input feed" - Solange es Elemente im eingelesenen Feed gibt, solange sollen dem "item.title" die "item.title.uri" angehängt werden.
minus78 auto retweet bot 13
Die URL eines Twitterusers ist im Format http://twitter.com/minus78. Das ist ziemlich lang, besonders, wenn man bedenkt, dass der Platz für Tweets mit 140 Zeichen ziemlich begrenzt ist. Daher werden wir ein Regex verwenden. Regex bedeutet "Regular Expressions" und ist eine Methode, mit der man Strings umwandeln kann. Hier geht das ganz einfach, denn hier können wir wieder mittels Drag & Drop und grafischer Oberfläche arbeiten. Das Element "Regex" finden wir unter dem Menüpunkt "Operators":
minus78 auto retweet bot 14
Da die URL des Verfassers durch den String Builder nun zum "item.title" gehört, geben wir als Regel hier an, dass "http://twitter.com/" durch "RT @" ersetzt werden soll:
minus78 auto retweet bot 12
Nun verbinden wir alle Elemente in der Reihenfolge "Fetch Feed" -> Filter -> Loop -> Regex, was in Etwa so aussehen sollte wie auf nachfolgendem Screenshot:
minus78 auto retweet bot 15
Wir speichern unsere Pipe nun und holen uns anschließend die URL des RSS-Feed dieser Pipes:
minus78 auto retweet bot 16 minus78 auto retweet bot 17
Der Hauptteil ist somit getan. Nun müssen wir unseren Feed nun nur noch in twitter einspeisen. Dafür gibt es verschiedene Anbieter. Ich habe in diesem Fall Twitterfeed benutzt. Hier habe die URL zu meinem Pipe-Feed als Quell-RSS-Feed angegeben. Desweiteren können hier auch Abstände, in denen der Feed eingelesen werden soll oder die Anzahl der auszugebenen Tweets eingegeben werden.
minus78 auto retweet bot 18
Den Account, den ich dafür benutzt habe ist dieser: KannMirJemandSagen

zurück