calendar
| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| « Jan | ||||||
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 | ||||
Kategorien
- Allgemein (64)
- Business (13)
- Lightwerk (3)
- Fun (42)
- Kino (9)
- Privates (37)
- Sonstiges (9)
- Sport aktiv (9)
- Sport passiv (24)
- Stuttgart (4)
- TYPO3 (44)
- VfB Stuttgart (23)
- Web (24)
Blogroll
- Amazon Wunschliste - Bin für Spenden offen…;)
- Blog von Volker - Volker und seine Reisen
- Dani’s Blog - Dani’s Blog
- Die Buch Parade - Aktuelle Buchempfehlungen
- Die Katzenzucht Vonozan – Türkisch Angora - Die Katzenzucht Vonozan – Türkisch Angora
- Lightwerk GmbH (TYPO3 Agentur)
- Meine Picasa Galerie
- Meine Website
- Tim’s Blog
- Twitter tomalo_de
- XING Profil - Mein Profil bei XING
Nachdem ich mich vor ein paar Wochen mit einem Twitter-Bot beschäftigt habe, möchte ich natürlich allen Interessierten zeigen, wie man so etwas macht. Mein Twitter-Bot holt sich alle Replies, die an den Bot geschickt wurden, und retweetet diese Nachrichten.
Anfangs hatte ich es so geschrieben, dass den Nachrichten einfach das @meinbot rausgelöscht wird und am Anfang ein “RT: @deradressat” eingefügt wird. Dann hab ich allerdings das Skript so umgeschrieben, dass die neue Retweet-Funktion von Twitter genutzt wird, die es seit November 2009 gibt.
Zuallererst braucht ihr natürlich einen Twitter-Account, über den das Ganze laufen soll. Diesen kann man auf http://twitter.com/ registrieren.
Als zweites sollte man eine gescheite Server-Umgebung haben. Wir brauchen die Möglichkeit, Cronjobs einzurichten und eine PHP-Umgebung mit Curl.
Kommen wir zum Code:
Einerseits habe ich eine Klasse für die Twitter API genutzt, die man bei Google Code findet. Leider ist der Entwickler nicht sehr aktiv und wir müssen noch einige Anpassungen machen, die nicht funktionieren.
Zum einen wird bei der Abfrage nach den Replies immer eine ID mitgegeben, damit ich nicht immer alle Nachrichten bekomme, sondern nur die, die ich noch nicht abgefragt habe. Die ID der neuesten Nachricht speicher ich bei jedem Aufruf in eine Datei. Beim nächsten Aufruf wird die ID aus der Datei gelesen und genutzt.
Diese ID wird vor der Abfrage als Integer gecastet, was inzwichen ein Problem ist, weil die ID schon weit über dem Integer-Wert liegt. Also entfernen wir das (int) vor dem Wert und fragen ab, ob die ID numerisch ist. Dies wird mit der Funktion “is_numeric()” ausgeführt.
Zum anderen habe ich eine neue Funktion im Code eingefügt, die die API von Twitter für die Retweets nutzt. Diese war noch nicht vorhanden, da ja neu.
Aber bevor ich viel erzähle, habe ich hier die Anpassungen für euch:
class.twitter.php: Änderung der Funktion getReplies()
/**
* Get @ replies
* @param integer Optional. Paging of tweets. Number specifies which page of results
* @param string $since (HTTP-formatted date) Optional. Narrows the resulting list of direct messages to just those sent after the specified date.
* @param integer $since_id Optional. Returns results posted that have an ID greater than $since_id
* @return string
**/
function getReplies( $page = false, $since = false, $since_id = false )
{
if( !in_array( $this->type, array( 'xml','json','rss','atom' ) ) )
return false;
$args = array();
if( $page )
$args['page'] = (int) $page;
if( $since )
$args['since'] = (string) $since;
if( is_numeric($since_id) )
$args['since_id'] = $since_id;
$qs = '';
if( !empty( $args ) )
$qs = $this->_glue( $args );
echo $qs;
$request = 'http://twitter.com/statuses/replies.' . $this->type . $qs;
return $this->objectify( $this->process( $request ) );
}
Während eines Meetings, wo es um die Suche nach TYPO3-Entwicklern ging, kam mir die Idee, einen Twitter-Bot zu programmieren. Jeder, der mit dem beliebten CMS TYPO3 arbeitet, kann dem Bot followen und Jobs suchen bzw. anbieten.
Danke auch hier nochmals an Harald Amelung für die Unterstützung und an Google für die einfache Twitter API.
Da die Themen der ersten Sessions nicht unbedingt der Brüller sind und nur auf die Grundlagen abzielen, habe ich mich beim TYPO3Camp München im Sessionraum 3 niedergelassen und meine Extension “twittersearch” verbessert.
Einerseits habe ich einen Bug behoben, der beim fehlerhaften Ziehen der Ergebnis-XML-Datei keinen Fehler mehr wirft, wenn mal Twitter wieder down ist.
Dann gibt es jetzt zwei neue Features:
1. Es ist nun möglich, bestimmte Benutzernamen aus der twittersearch auszuschliessen. Einfach ein “-” vor den Benutzernamen hängen und auf den BOOLEAN-Operator achten.:)
2. Es ist nun möglich, per TypoScript den Debug zu setzen und somit gezielt Debugausgaben beim Entwickeln anzuzeigen.
Habe eben erst die Extension ins TER hochgeladen. Müsste in den nächsten Stunden verfügbar sein.

Domain Weltkarte Ausschnitt
Im Twitterversum bin ich auf den Link zu www.domain-karte.de gekommen.
Dort findet man eine Aktion von united-domains, die allen Bloggern oder auch Twittern eine kostenlose Domain-Weltkarte verspricht (sonst 29 Euro).
Also, einfach mitmachen, wer einen Blog oder Twitteraccount hat. Und natürlich auch sowas haben will.
thx @MultaniFX
Falls ihr auf dem laufenden bleiben wollt, welche neue Extensions ins TER upgeloadet werden, hilft es, einfach dem Twitter “TYPO3Weblog” zu folgen.
Zitate
von Franz Wohlfahrt
Recent Posts
Tag Cloud
Archives
- March 2010 (2)
- January 2010 (1)
- December 2009 (3)
- November 2009 (3)
- October 2009 (4)
- September 2009 (1)
- June 2009 (2)
- May 2009 (4)
- April 2009 (5)
- March 2009 (12)
- February 2009 (5)
- January 2009 (6)
- December 2008 (8)
- November 2008 (14)
- October 2008 (9)
- September 2008 (12)
- August 2008 (18)
- July 2008 (15)
- June 2008 (6)
- May 2008 (8)
- April 2008 (9)
- March 2008 (7)
- February 2008 (4)
- January 2008 (11)
- December 2007 (2)
Kommentare
Sonstiges
recent entries
Wordpress theme by Wordpress Themes |WordPress Theme download











