… | |
… | |
330 | $self->register ("(" => sub { |
330 | $self->register ("(" => sub { |
331 | $self->{login_challenge} = $_[0]; |
331 | $self->{login_challenge} = $_[0]; |
332 | $self->{login_room} = $_[1]; |
332 | $self->{login_room} = $_[1]; |
333 | $self->{proto}->feed_event ("login"); |
333 | $self->{proto}->feed_event ("login"); |
334 | }); |
334 | }); |
|
|
335 | $self->register (t => sub { |
|
|
336 | my $src = $_[0]; |
|
|
337 | if ($src eq '-') { |
|
|
338 | $_[2] = $self->{knuddels_nick} . " " . $_[2]; |
|
|
339 | } else { |
|
|
340 | $_[2] = $src . " " . $_[2]; |
|
|
341 | } |
|
|
342 | $self->{proto}->feed_event (action_room => $self->handle_room ($_[1]), $_[2]); |
|
|
343 | }); |
335 | $self->register (r => sub { |
344 | $self->register (r => sub { |
|
|
345 | my $src = $_[0]; |
|
|
346 | $src = $self->{knuddels_nick} if $src eq "-"; |
336 | $self->{proto}->feed_event (msg_priv => $self->handle_room ($_[2]), $_[0], $_[1], $_[3]); |
347 | $self->{proto}->feed_event (msg_priv => $self->handle_room ($_[2]), $src, $_[1], $_[3]); |
337 | }); |
348 | }); |
338 | $self->register (e => sub { |
349 | $self->register (e => sub { |
339 | $self->{proto}->feed_event (msg_room => $self->handle_room ($_[1]), $_[0], $_[2]); |
350 | $self->{proto}->feed_event (msg_room => $self->handle_room ($_[1]), $_[0], $_[2]); |
340 | }); |
351 | }); |
341 | $self->register (l => sub { |
352 | $self->register (l => sub { |
… | |
… | |
480 | sub set_nick { |
491 | sub set_nick { |
481 | my ($self, $room, $nick, $password) = @_; |
492 | my ($self, $room, $nick, $password) = @_; |
482 | |
493 | |
483 | exists $self->{login_challenge} or Carp::croak "set_nick can only be called after a login event"; |
494 | exists $self->{login_challenge} or Carp::croak "set_nick can only be called after a login event"; |
484 | |
495 | |
|
|
496 | $self->{knuddels_nick} = $nick; |
485 | $self->command ("n", $room, $nick, Net::Knuddels::hash_pw $self->{login_challenge}, $password); |
497 | $self->command ("n", $room, $nick, Net::Knuddels::hash_pw $self->{login_challenge}, $password); |
|
|
498 | } |
|
|
499 | |
|
|
500 | =item $client->send_room_msg ($nick, $room, $message) |
|
|
501 | |
|
|
502 | Sends a private C<$message> to C<$nick> over C<$room>. |
|
|
503 | |
|
|
504 | =cut |
|
|
505 | sub send_room_msg { |
|
|
506 | my ($self, $room, $message) = @_; |
|
|
507 | |
|
|
508 | print "SEND ROOM: $room : $message\n"; |
|
|
509 | $self->command ("e", $room, $message); |
|
|
510 | } |
|
|
511 | |
|
|
512 | |
|
|
513 | =item $client->send_priv_msg ($nick, $room, $message) |
|
|
514 | |
|
|
515 | Sends a private C<$message> to C<$nick> over C<$room>. |
|
|
516 | |
|
|
517 | =cut |
|
|
518 | sub send_priv_msg { |
|
|
519 | my ($self, $nick, $room, $message) = @_; |
|
|
520 | |
|
|
521 | print "SEND ROOM: $room : /p $nick:$message\n"; |
|
|
522 | $self->command ("e", $room, "/p $nick:$message"); |
486 | } |
523 | } |
487 | |
524 | |
488 | =item $client->register ($type => $cb) |
525 | =item $client->register ($type => $cb) |
489 | |
526 | |
490 | See L<Net::Knuddels::Protocol::register>. The following extra events will |
527 | See L<Net::Knuddels::Protocol::register>. The following extra events will |