Im Bezug auf diesen Post hab mir mal ein kleines script gebastelt,
das @replies von twitter auf mein iphone pusht.
Das ganze ist ein Perl script und wird bei mir per Cronjob alle 3 Minuten ausgeführt.
um den Codeschnipsel zu benutzen müssen twitter_name twitter_password und ApiKey von Prowl ersetzt werden.
#!/usr/bin/perl
use Net::Twitter;
use WebService::Prowl;
my $prowl = WebService::Prowl->new(apikey => HIER_DEINEN_PROWL_API_KEY_EINFÜGEN);
my $nt = Net::Twitter->new(
traits => [qw/API::REST/],
username => "HIER_DEINEN_TWITTER_NICK_EINFÜGEN",
password => "HIER_DEIN_TWITTER_PASSWORT_EINFÜGEN"
);
# my $result = $nt->update('Hello, world!');
open(LASTTWEET, "<lastdirekttweet .id") || die "Datei nicht gefunden\n";
my @IN = <LASTTWEET>;
my $lastid = $IN[0];
close(LASTTWEET);
eval {
my $statuses = $nt->replies({ since_id => $lastid});
for my $status ( @$statuses ) {
$prowl->add(application => "Twitter",
event => "< $status->{user}{screen_name} >",
description => "$status->{text}");
print " $status->{time} < $status->{user}{screen_name} > $status->{text}\n";
if( $status->{id} > $lastid)
{
$lastid = $status->{id};
}
}
open(LASTTWEET, ">lastdirekttweet.id"); # Datei zum Schreiben öffnen
print LASTTWEET "$lastid"; # Datei schreiben
close(LASTTWEET);
};
if ( my $err = $@ ) {
die $@ unless blessed $err && $err->isa('Net::Twitter::Error');
warn "HTTP Response Code: ", $err->code, "\n",
"HTTP Message......: ", $err->message, "\n",
"Twitter error.....: ", $err->error, "\n";
}
</lastdirekttweet> |
#!/usr/bin/perl
use Net::Twitter;
use WebService::Prowl;
my $prowl = WebService::Prowl->new(apikey => HIER_DEINEN_PROWL_API_KEY_EINFÜGEN);
my $nt = Net::Twitter->new(
traits => [qw/API::REST/],
username => "HIER_DEINEN_TWITTER_NICK_EINFÜGEN",
password => "HIER_DEIN_TWITTER_PASSWORT_EINFÜGEN"
);
# my $result = $nt->update('Hello, world!');
open(LASTTWEET, "<lastdirekttweet .id") || die "Datei nicht gefunden\n";
my @IN = <LASTTWEET>;
my $lastid = $IN[0];
close(LASTTWEET);
eval {
my $statuses = $nt->replies({ since_id => $lastid});
for my $status ( @$statuses ) {
$prowl->add(application => "Twitter",
event => "< $status->{user}{screen_name} >",
description => "$status->{text}");
print " $status->{time} < $status->{user}{screen_name} > $status->{text}\n";
if( $status->{id} > $lastid)
{
$lastid = $status->{id};
}
}
open(LASTTWEET, ">lastdirekttweet.id"); # Datei zum Schreiben öffnen
print LASTTWEET "$lastid"; # Datei schreiben
close(LASTTWEET);
};
if ( my $err = $@ ) {
die $@ unless blessed $err && $err->isa('Net::Twitter::Error');
warn "HTTP Response Code: ", $err->code, "\n",
"HTTP Message......: ", $err->message, "\n",
"Twitter error.....: ", $err->error, "\n";
}
</lastdirekttweet>
Somit dürfte die Suche nach Twitter Push Notifications aufs Iphone ein ende haben :)
Viel Spaß damit und für Kommentare bin ich immer dankbar :)
[ EDIT 19. 09 2009 ]
Script leicht verbessert