Life in a shell

bash$ tiagosh

Kopete and libmsn

kopete & libmsn

Last weeks I’ve been playing with kopete and libmsn.
I don’t know if it will become part of upstream kopete development,
but at least now I am able to send/receive files and offline messages.
Features up to this moment:

– send/receive regular messages
– send/receive offline messages
– file transfer.
– multi-chat (more than 2 people)
– display pictures transfer
– chat while in invisible mode
– “Listening to” and “Personal Messages” support
– Nudges

kopete TODO list:
– voice clip
– ink support
– improve address book management
– formatted messages (fonts and colors)
– winks (argh, I’m not sure about this one yet)
– custom emoticons (not sure about this one too =)

libmsn TODO list:
– webcam


February 24, 2008 - Posted by | kopete, libmsn


  1. I found your site on google blog search and read a few of your other posts. Keep up the good work. Just added your RSS feed to my feed reader. Look forward to reading more from you.

    – Sue.

    Comment by Sue Massey | February 24, 2008 | Reply

  2. That’s my boy!

    Comment by Salvador | February 24, 2008 | Reply

  3. Hey Salem Scarem,

    add “classic atari games” on your TODO list and I think you will be good to go.

    Keep on Rocking, bro.

    Comment by Tchelo | February 29, 2008 | Reply

  4. are your improvements on the SVN repository os Kopete? Actually, file transfer and webcam suuport are ridiculous…

    Keep workin’, great job!

    Comment by Ayoze | March 2, 2008 | Reply

  5. Hi Ayoze,

    no, these improvements are only on my local svn. It still has some bugs (random sigsegv’s =), but at least file transfer is working properly, even on mac osx.

    Actually I don’t know if kopete development team is interested in my code, or libmsn itself. The information I have at this moment is that they will rewrite the msn plugin from scratch, and I suppose it will be based on qt, even the protocol part.

    Anyway, if they decide to use libmsn or my msn plugin, they are welcome πŸ™‚

    Thank you for visiting.

    Comment by tiagosh | March 2, 2008 | Reply

  6. Will you release the package? I tried all the messengers and the only one I like is Kopete. πŸ™‚

    AFAIK the msn support for kopete is stalled so they might be interested.

    Comment by Ola | March 18, 2008 | Reply

  7. Hi,

    well, I intend to release it soon, but as I develop it only in my free time, it is taking more time than I expected.

    I really hope they are interested. πŸ™‚

    thank you.

    Comment by tiagosh | March 19, 2008 | Reply

  8. Once again, thanks for all your effort! Its widely appriciated.

    Great work, Cheers

    Comment by Chris | May 18, 2008 | Reply

  9. Hey!

    I sent a mail to Olivier Goffart lead developer for kopete. This is my mail and his reply. Id love to see a integration whenever you are ready. πŸ™‚

    > Hey!
    > Im wondering about the status/future of libmsn and its integration into
    > kopete. Ive been following the work of tiagosh
    > ( I
    > think that hes the maintainer of libmsn now and hes been doing some great
    > improvements on the lib.
    > Thanks in advance /Chris


    If he want to integrate his code into Kopete in the KDE svn repository, I’m
    all for it.
    But he has to decide.


    Comment by Chris | May 18, 2008 | Reply

  10. Hi Chris,

    I appreciate your attention!
    Actually, Olivier knew about my work. I summited it to google summer of code, even a link to the source code.
    Unfortunately it was not chosen to be develop, and as I received no invitation to develop it upstream, I thought there was no interest of kopete team on my plugin.
    By the way, I’m glad to know that I can keep working on it, and as soon as I can, I’ll try to contact them to integrate the plugin in the SVN.

    Thank you again for the contact, and keep an eye on this blog πŸ™‚

    Comment by tiagosh | May 18, 2008 | Reply

  11. Hi,
    I have to say I really love the work you’re doing on msnp15…It would be better that everybody use an open protocol,but unfortunately msn is the most used here in Italy…I was wondering..Why don’t you contact Matt Rogers to join his work???The msnp15 protocol implementation was scheduled for Kde 4.1 that comes in July,unfortunately,despite the work is now in progress,was posticipated to 4.2 that will come I think next year 😦 .Maybe you can talk with him and you can exchange your knowledge about this proprietary protocol…Let me know what you think about this idea.

    p.s. I’ve seen that last year there was already a project of SoC about msnp15 that was not completed,maybe for this reason they didn’t call you,or maybe because everybody needs a good “sponsor” to be accepted,unfortunately that’s life



    Comment by Kyashan | May 27, 2008 | Reply

  12. Hi Daniele,

    thank you very much for your comment. Here in Brazil MSN is the most popular IM protocol too. What can we do? πŸ™‚
    I think it is great idea, but I guess Matt Rogers already knows about my plugin. A friend of mine is a kopete developer, and he put me in touch with kopete development team. Unfortunately I’ve been busy last days, but as I wrote in a previous comment, I intend to release a version as soon as possible.
    There is still a lot of work to do, and I’ll really need help to finish it before KDE 4.1.
    Thank you again.

    Comment by tiagosh | May 27, 2008 | Reply

  13. Hi!

    Great stuff!

    For last few days I’ve been trying to integrate libmsn with bitlbee (exports IM as IRC), and already the basics work (I can chat, add/remove users,…), but I’m having trouble putting OIM into it (which was the whole point of me starting to work on this).
    Basically my idea is to send a message, and in case it hasn’t got delivered (showError, code 217), send OIM. Unfortunately I don’t see a nice way to get target ‘passport’ and ‘message’ into that callback. Maybe I’m doing it wrong?

    Any hints?

    Also, can I contact you?

    Comment by Domen Puncer | June 13, 2008 | Reply

  14. Hi Domen,

    The OIM delivery confirmation is made through the following callback:
    gotOIMSendConfirmation(MSN::NotificationServerConnection * conn, bool success, int id) = 0;

    When you send a OIM you must use an ID to identify the OIM. For each OIM you will receive a gotOIMSendConfirmation(), and then you need to test the success variable for the given id. Take a look at msntest.cpp. It implements this callback.

    you can contact-me anytime you want. I’m sending you an email right now.

    Thanks for the contact.

    Comment by tiagosh | June 13, 2008 | Reply

  15. Hi,

    Is libmsn used by both Kopete and Pidgin? E.g. does the work you are doing benefit both, assuming you will at some day be able to put the code together and release new version of the library?

    Would it be possible to work together with Miranda and aMSN developers developing this plugin? It seems to me like at least 3 projects are doing the same work and at least 2 will always be reinventing the wheel.

    Comment by Pidginuser | July 17, 2008 | Reply

  16. Hi pidginuser,

    I believe the only project using libmsn so far is centericq (now centerim), and it is using the old version, and not my refactoring to the new protocol. Pidgin uses its own library called libpurple.
    The kopete plugin I have written is not official. The official one is all written in QT, even the protocol part.
    My idea is that the protocol must be handled by a generic library, not dependent on a specific toolkit. Libmsn was develop in c++ and could be used by many people, but as far as I can understand, everybody wants to use it’s own protocol implementation, wasting time reinventing the wheel, as you said.
    I never spoke to miranda developers, but if they are interested on libmsn, why not?

    Thanks for the contact.

    Comment by tiagosh | July 19, 2008 | Reply

  17. Hey,

    How are things going for you and the way to a stable version of libmsn?

    Best regards /Chris

    Comment by Chris | August 4, 2008 | Reply

  18. Hi Chris,
    sorry the delay to reply.
    Everything is going well. Last week I’ve uploaded the wlm plugin to the kde svn (still in playground part). It means I’m back to work on libmsn and the first release of it is even closer.
    Soon I’ll write a post here about it and the current status of libmsn and wlm plugin for kopete.
    Thanks for all.
    best regards

    Comment by tiagosh | September 14, 2008 | Reply

  19. This is trunk for KDE 4.2 now. We were listening. πŸ™‚

    Comment by Matt Rogers | November 15, 2008 | Reply

  20. Hi…

    I wanted to ask, how the plans about webcam support are currently.
    I have been porting webcam support to kopete/kde4 on freebsd… now it is working here locally, but i discovered msn webcam chats are no longer supported. this is very sad, because i still have to keep all the kde3 stuff, to be able to webcam chat in msn.

    so i would be happy to get it done, and also be willing to help if needed…

    Comment by elgrande | May 2, 2009 | Reply

  21. Hello elgrande,

    the new MSN plugin is called WLM, and as it was written from scratch, unfortunately there is no webcam support yet.
    This new plugin uses libmsn ( as a low layer communication library, so the webcam support should be added there.

    You are welcome to contribute, I’m going to send you an email so then we can discuss about it.


    Comment by tiagosh | May 4, 2009 | Reply

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: