POE-Component-YahooMessenger

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

      }

      # send message
      $kernel->post(ym => send_message => {
          to => $buddy_id,
          message => "Hello World",
      });

      # change your status
      $kernel->post(ym => change_my_status => {
          busy => 0, # 0 = not busy
          message => "going for lunch now!",
      });

      # retrieve your buddies list
      $kernel->post(ym => buddies => 'retrieve_buddies');
      sub retrieve_buddies {
          my $buddies = $_[ARG0];
          for my $group (keys %$buddies) {
              print "$group:\n", map "  $_\n", @{$buddies->{$group}};
          }

lib/POE/Component/YahooMessenger.pm  view on Meta::CPAN

	my $status_message;
	if ($status_code == 99) {
	    $status_message = $event->status_message($status_num);
	    $status_num++;
	}
	my $goes_online = POE::Component::YahooMessenger::Event->new(
	    'goes_online', 0, {
		buddy_id => $event->buddy_id($num),
		status_code => $status_code,
		status_message => $status_message,
		busy_code => $event->busy_code($num),
	    },
	);
	$kernel->yield(notify => $goes_online->name, $goes_online);
    }
}

sub goes_offline {
    my($kernel, $heap, $event) = @_[KERNEL, HEAP, ARG0];
    delete $heap->{online}->{$event->buddy_id};
    $kernel->yield(notify => $event->name, $event);

lib/POE/Component/YahooMessenger.pm  view on Meta::CPAN

	),
    );
}

sub change_my_status {
    my($kernel, $heap, $args) = @_[KERNEL, HEAP, ARG0];
    $heap->{sock}->put(
	POE::Component::YahooMessenger::Event->new(
	    'change_status', 0, {
		status_code => 99, # XXX custom status
		busy_code => $args->{busy} || 0,
		status_message => $args->{message},
	    },
	),
    );
}

sub buddies {
    my($kernel, $heap, $sender, $reply) = @_[KERNEL, HEAP, SENDER, ARG0];
    $kernel->post($sender => $reply => $heap->{buddies});
}

lib/POE/Component/YahooMessenger.pm  view on Meta::CPAN

  }

  # send message
  $kernel->post(ym => send_message => {
      to => $buddy_id,
      message => "Hello World",
  });

  # change your status
  $kernel->post(ym => change_my_status => {
      busy => 0, # 0 = not busy
      message => "going for lunch now!",
  });

  # retrieve your buddies list
  $kernel->post(ym => buddies => 'retrieve_buddies');
  sub retrieve_buddies {
      my $buddies = $_[ARG0];
      for my $buddy_id (keys %$buddies) {
	  printf "%s (group: %s)\n", $buddy_id, $buddies->{$buddy_id};
      }

lib/POE/Component/YahooMessenger/Constants.pm  view on Meta::CPAN

    10 => 'status_code',
    11 => 'session_id',
    13 => 'live',
    14 => 'message',
    15 => 'received_time',
    16 => 'error_message',
    19 => 'status_message',
    20 => 'download_url',
    27 => 'filename',
    28 => 'filesize',
    47 => 'busy_code',
    49 => 'command_name',	# XXX 'FILEXFER'
    50 => 'invitation_from',
    52 => 'invitation_with',	# XXX
    53 => 'download_filename',
    54 => 'protocol',		# XXX 'MSG1.0'
    57 => 'conference_name',
    58 => 'invitation_message',
    59 => 'cookie',
    65 => 'group',
    87 => 'buddy_list',



( run in 0.263 second using v1.01-cache-2.11-cpan-87723dcf8b7 )