What is dotMSN ?
dotMSN is a class library to make use of the MSN Messenger Service. The library is built in C# and can therefore be used by all languages the .NET environment supports. DotMSN provides an easy and consistent interface through a clean Object Oriented approach. DotMSN abstracts the low-level MSN protocol so you can quickly integrate dotMSN with your application and make direct use of MSN-connectivity. DotMSN is free and can be used in both non-commercial and commercial applications. The library can, among other things, be used for:
- MSN bots
- Sending application-notifies
- Self-made clients / webclients
- Integrating contact info with your application
Ofcourse there are more possibilities, if you have an awesome idea, just download the library and happy coding!
Features
The library currently supports:
- Connecting / disconnecting with the MSN Messenger service
- MSNP8 protocol
- File transfer
- Fires events when contact go online or offline or change status
- Automatically synchronizes contact lists and keeps contact data up to date
- Create/Remove contactgroups
- Convenient enumerating through contacts in different lists
- Request or receive conversations
- Multiple users in one conversation
- Send messages
- Received messages include information about font, charset, color, decoration
- Privacy settings of the contactlist owner
- Provides hotmail inbox status
- Error handling
There are still some things yet to be implemented:
- Upgrade to newer protocols
- Notify of new incoming e-mail messages
- Owner profile
- Proxy support
License
dotMSN can be used free of charge in both commercial and non-commercial software. Selling dotMSN as a library is forbidden. dotMSN is not (yet) open-source. It isn't that important, the documentation will answer most of your questions quicker than the source-code.
Download
You can download the latest version (10 Apr 2004 ) of the library here.
This is the DLL simply reference this dll and you will be able to use dotMSN (use namespace 'DotMSN'). Please send any bugs to me (orphix@planet.nl). Ofcourse i'm also available for suggestions.
A simple example explaining how to use this library is also available.
- dotMSN 1.2(.1561)
- dotMSN Example (requires VS.NET 2003)
The old MSNP7 implementation is still available (but does not work with current MSN servers!):
- dotMSN 0.8.1250beta (MSNP7)
- dotMSN Example (MSNP7) (VS.NET 2002)
Documentation
The primary documentation for dotMSN is based on the xml-doc abilities in C#. The documentation is similar to the .net framework documentation on MSDN. There are two versions available:
Resources
My two main resources about the protocol are:
I would like to thank the authors, in particularly Mike Mintz from Hypothetic, of these documents for reverse-engineering the protocol. The visitors/developers on Hypothetic also do major research on the protocol and I would like to say a big thank you to all of them!
About the author
My name is Bas Geertsema and I am a student at the University of Twente, Netherlands. Besides my study I have my own e-development business, Xih Productions. Xih Productions does development ranging from simple dynamic sites to management information systems for small businesses.
You can contact me at: orphix@planet.nl
I will try to answer the questions as soon as possible. But as DotMSN is not my top priority it may take a few days. Also I love to hear just what you used dotMSN for!
Projects who use dotMSN
I hope this library is usefull for (many) people. If you made a MSN bot, integrated dotMSN with your own application or created something else using dotMSN please let me know! Just out of curiosity :) I will put cool projects online here.
Santi Serrano created a cool web-based messenger using dotMSN. You can check it out Msn2Web at http://msn2web.dyndns.org/msn2web/
Chad Myers from www.anetforums.com has implemented a thread-reply notification in their forum software using dotMSN.
Last revision: April 10, 2004. Copyright (C) Bas Geertsema, Xih Productions, 2002-2004.