npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

yahoomessenger

v0.1.3-Beta

Published

Yahoo! Messenger in node

Downloads

15

Readme

YahooMessenger.js

Build Status NPM version Dependency Status

Yahoo! Messenger in node.js

This is a Beta release and is under development but some main features are ready to use.

Instantiation

This module consists of a singleton YahooMessenger class and a sessionData object for each user. First you need to include YahooMessenger

var YahooMessenger = require('yahoomessenger');

Then for each user you need a new instance.

YahooMessenger.newInstance();

Then you will receive a ready event and it's ready to work with then.

How to use

Single User

Here is an example for single user:

var YahooMessenger = require('yahoomessenger');
YahooMessenger.newInstance();

YahooMessenger.on('ready', function onReady(){
  YahooMessenger.login('Yahoo! ID', 'Yahoo! Password');
});

YahooMessenger.on('loginSuccessful', function onLoginSuccessful(data){
  console.log('Welcome ' + data.firstname + ' ' + data.lastname);

  YahooMessenger.sendPM('Friend Yahoo! ID', 'Hi. I am using YahooMessenger.js, It\'s cool!');
});

As you can see, you can send requests to Yahoo! server by YahooMessenger's public methods and receive responses by Events.

After calling newInstance method, it generates a session in YahooMessenger.sessionData. You can store session of each user in an array and change it before calling methods. Each event contains a user_id to distinguish response for multiple users.

Mutli User

Here is an example for multi user:

var users = {};

var YahooMessenger = require('yahoomessenger');

YahooMessenger.newInstance();
users.ID1 = YahooMessenger.sessionData;

YahooMessenger.newInstance();
users.ID2 = YahooMessenger.sessionData;

YahooMessenger.on('ready', function onReady(data){
  YahooMessenger.sessionData = users[data.user_id];

  // do something
});

// ...
YahooMessenger.sessionData = users.ID2;
YahooMessenger.sendPM('someone', 'Hey! I\'m User 2');

YahooMessenger's methods are chainable.

YahooMessenger.addBuddy('ID', 'Group')
  .sendPM('ID', 'Message')
  .buzz('ID2')
  .sendPM('ID3', 'Message');

Incoming Events

# Internal
ping

# Login
loginSuccessful

# Misc
userHasMail
userSendMessage

# Chat
chatLogin
chatCaptcha
chatJoin
chatLoginError
chatMessage

# PM
pm
offlinePM
buzz

# Friends
friendsList
addBuddy
removeBuddy
buddyAcceptAddRequest
buddyRejectAddRequest
buddyAddRequest

# File Transfer
fileTransferInvite
fileTransferCancelled
fileTransfer

Outgoing Methods

# Internal
keepAlive
ping

# Login
login
logout

# Chat
chatLogin
chatJoin
getChatCategories
getChatRooms
sendPublicChatMessage
chatLogout

# Avatar
getBuddyImageByAvatarHash
getBuddyImageByProfileHash
getBuddyImage

# File Transfer
acceptFileTransfer
declineFileTransfer
fileTransferGetFile
receiveFile
cancelFileReceive

# PM
sendPM
buzz
sendTyping

# Friends
addBuddy
acceptAddBuddy
rejectAddBuddy
BuddyInfoChanged

TODOs

  • Write more tests
  • Add more of Yahoo! functions