I've been researching how to interact with the MSN messenger / Live messenger service programmatically and I can't find any real documentation on this. The documentation for the Live services only seem to implement in Javascript (they're here: http://dev.live.com/Messenger/)
It would be possible to reverse engineer this API to obtain the web services that it is actually using, but I am guessing that they didn't provide the sources for a reason (which means that those web services aren't meant for direct access).
However I can't find any other official APIs that allow programmatic access (more specifically no APIs that mention sockets, web services, or a proper programming language like Java or .Net).
Does anyone know if an API like that exists?
Check out LibPurple, which is the library underlying the pidgin multi-protocol IM client.
The open source pidgin does it, so maybe have a look ?
MSNP-Sharp is a very good C# API.
You haven't stated what your purpose is, but maybe you can use source code of alternative clients like pidgin, amsn or centerim to access msn live network and use whatever service you want. I cannot point you to any documentation but you can use their source code if you want.
Is C proper enough?
I would take a look at msn-pecan - A WLM plugin for Pidgin
Let me clarify what I'm going to use it for. We want a viable solution to be able to connect to MSN messenger from Flash, we can't connect directly because flash is a bit bonkers and doesn't like to open socket connections to a domain unless it's invited.
So we'll need to construct a proxy server in a proper language (which obviously we'd like to support other protocols too, so that'll work quite nicely with lib purple). We don't have any experience in house of C, so it would have been preferable to keep it in Java, which is what our team is experienced in, but there really don't seem to be any decent APIs for Java, or APIs that Java could interact with.
Nevertheless, thanks for the suggestions chaps. They look very useful.
The Java MSN Messenger Library is also pretty good.