Changeset 11639

Show
Ignore:
Timestamp:
05/15/08 22:37:39 (5 years ago)
Author:
kan
Message:

X:C:Twitter can update

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/XIRCD/trunk/lib/XIRCD/Component/Twitter.pm

    r11636 r11639  
    44with qw(MooseX::POE::Aliased); 
    55 
     6use Encode; 
    67use HTTP::Request::Common; 
    78use HTTP::Date (); 
     
    6263} 
    6364 
     65event send_message => sub { 
     66    my $self = shift; 
     67    my ($status,) = get_args(@_); 
     68 
     69    my $req = HTTP::Request::Common::POST( 
     70        $self->config->{apiurl} . '/update.json', 
     71        [ status => encode('utf-8',$status) ], 
     72    );   
     73    $req->authorization_basic($self->config->{twitter}->{username}, $self->config->{twitter}->{password}); 
     74 
     75    POE::Kernel->post($self->http_alias => request => 'http_response', $req); 
     76}; 
     77 
    6478event read_twitter_friend_timeline => sub { 
    6579    my $self = shift; 
     
    117131}; 
    118132 
     133event update_success => sub { 
     134    my $self = shift; 
     135 
     136    my ( $response, ) = get_args(@_); 
     137 
     138    if ( $response->is_success ) { 
     139        my $ret = JSON::Any->jsonToObj($response->content); 
     140        POE::Kernel->post( ircd => publish_notice => $self->config->{channel}, $ret->{text} ); 
     141    } 
     142}; 
     143 
    119144 
    1201451;