January 17, 2007

jYMSG provides a way for Java applications to connect and use the Yahoo Instant Messenger protocol, version 10 (YMSG-10) in a reasonably coder friendly and abstract way. Although methods the API exposes are clearly matched to Yahoo IM features, the API attempts to hide as much of the nitty-gritty as possible, taking responsibility upon itself as far as it possibly can.

Written using J2SE 1.3/1.4 - but will probably work under JDK/JRE 1.1

jYMSG is not an application, it is an API which may be employed by an application to create an instant messenger using the Yahoo chat/pager system. As such it is targeted at experienced programmers.

Features:

Connection
Login/Logout - wouldn't be much good without it.
Authentification - protocol version 9, 10 and 11 authentification.
Fallback ports - optionally attempt to connect via different routes.
Login timeouts - configurable login and chat login timeouts.
HTML/SOCKS proxy - connect via SOCKS and HTTP proxies.
HTTP authentication - use proxy username/passwords with HTTP proxy.
Configurable - host/port names accessible via properties.
Foreign chat - use non-English chatroom hierarchies.

Messaging
Instant messages - send messages to other Yahoo users.
Conferences - create, join, and use multi-user private chat.
Chatrooms - find and connect to chatroom, including adult rooms.
File transfer - with easy-to-use file save methods.
Identities - send messages using aliases.

Data and Status
Status - change status, or set custom status messages.
Groups and Friends list - with events when they change.
Adding and removing friends - including automatic group handling.
Identities - all available aliases for current user.
Ignore - for all those users who bore you.
New mail update - be informed of new Yahoo mail.

Mechanics
Typing notification - automatic, if you provide an AWT event source.
Connection pinging - automatic keep alive pinging on open connections.

Support Package
Separate support package - with the following features...
Decoding messages - to plain text, HTML or Swing components.
Encoding messages - build styled text messages and output to Yahoo format.
Colour fade and alt text - fancy text colouring supported.
Emoticons (smileys) - decoded for Swing Document based text components.
Anti-Spam - support class to help block annoying chat behaviour.
Overriding styles - restrict message font sizes, colours, etc.
Swing models - automatically updates user list/tree models.
Emote manager - loads and manages chat Emotes from config files.

Technorati Tags: , , , , , , , ,

This Month's Most Popular Posts