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.
Gestern war die Bundestagsabstimmung über das Gesetz zur Indizierung von Kinderpornos im Internet. Mit erschreckender Mehrheit haben die Abgeordneten für dieses Gesetz gestimmt, trotz der Kritik und der Mobilisierung vieler Internetnutzer, die in diesem Gesetz ein Machtmittel der Bundesregierung sehen, dass nicht nur gegen Kinderpornos genutzt werden soll.
Hier sind einige Links zu Berichten über dieses Thema:
Sehr guter Vorbericht, welche Fehlinformationen Politiker von sich geben.
Bericht über die anscheinend sinnlosen Anstrengungen, die unternommen wurden.
Und hier ist ein Aufruf an ganz Deutschland, sich bei den Demonstrationen diesen Samstag zu beteiligen:
Bedenkt die nächste Bundestagswahl und schaut mal nach, wie euer Abgeordneter gestimmt hat: Abstimmungen
Ich hoffe, es wird einigen die Augen öffnen, was die Regierung von uns hält und wie sie argumentiert.
Oft braucht man die Info, welche IP man im WorldWideWeb hat. Dagegen helfen natürlich Tools auf dem Betriebssystem, ein Blick in den Router bzw. ins Modem oder aber auch einige Websites.
Eine möchte ich heute vorstellen. Achtung, dies ist die “ab16″-Variante! Und Sound bevorzugt.
Zitate
von Dieter Eilts
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











