Show
Ignore:
Timestamp:
10/30/07 11:20:41 (6 years ago)
Author:
tokuhirom
Message:

lang/perl/mobirc: detail design change.
lang/perl/mobirc: reconnect, connect, snotice is now in the *server* pseudo channel.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/mobirc/trunk/mobirc/lib/Mobirc/IRCClient.pm

    r859 r874  
    3131            disconnect_msg => true, 
    3232            channel_topic  => {}, 
     33            channel_name   => {}, 
    3334            config         => $config, 
    3435            irc            => $irc, 
     
    4748            irc_ctcp_action  => \&on_irc_ctcp_action, 
    4849            irc_kick         => \&on_irc_kick, 
     50            irc_snotice      => \&on_irc_snotice, 
    4951 
    5052            autoping         => \&do_autoping, 
     
    8183    DEBUG "CONNECTED"; 
    8284 
    83     for my $channel ( sort keys %{ $poe->heap->{channel_name} } ) { 
    84         add_message( $poe, 
    85             decode( $poe->heap->{config}->{irc}->{incode}, $channel ), 
    86             undef, decode('utf8', 'Connected to irc server!'), 'connect' ); 
    87     } 
    88     $poe->heap->{disconnect_msg} = true; 
    89     $poe->heap->{channel_name} = {}; 
     85    add_message( $poe, 
     86        decode( 'utf8', '*server*' ), 
     87        undef, decode('utf8', 'Connected to irc server!'), 'connect' ); 
     88 
     89    $poe->heap->{disconnect_msg} = true; 
     90    $poe->heap->{channel_name} = {'*server*' => '*server*'}; 
    9091    $poe->kernel->delay( autoping => $poe->heap->{config}->{ping_delay} ); 
    9192} 
     
    272273} 
    273274 
     275sub on_irc_snotice { 
     276    my $poe = sweet_args; 
     277 
     278    my ($message, ) = _get_args($poe); 
     279 
     280    DEBUG "getting snotice : $message"; 
     281 
     282    add_message( 
     283        $poe, 
     284        decode( 'utf8', '*server*' ), 
     285        undef, 
     286        decode( 'utf8', $message), 
     287        'snotice', 
     288    ); 
     289} 
     290 
    274291sub on_irc_reconnect { 
    275292    my $poe = sweet_args; 
    276293 
    277294    if ( $poe->heap->{disconnect_msg} ) { 
    278         for my $channel ( sort keys %{ $poe->heap->{channel_name} } ) { 
    279             add_message( 
    280                 $poe, 
    281                 decode( $poe->heap->{config}->{irc}->{incode}, $channel ), 
    282                 undef, 
    283                 decode( 'utf8', 'Disconnected from irc server, trying to reconnect...'), 
    284                 'reconnect', 
    285             ); 
    286         } 
     295        add_message( 
     296            $poe, 
     297            decode( 'utf8', '*server*' ), 
     298            undef, 
     299            decode( 'utf8', 'Disconnected from irc server, trying to reconnect...'), 
     300            'reconnect', 
     301        ); 
    287302    } 
    288303    $poe->heap->{disconnect_msg} = false; 
     
    290305} 
    291306 
     307sub _get_args { 
     308    my $poe = shift; 
     309 
     310    return map { decode($poe->heap->{config}->{irc}->{incode}, $_) } @{ $poe->args }; 
     311} 
     312 
    2923131;