Skype Plugin

Sean Egan seanegan at
Thu Sep 13 22:36:25 EDT 2007

On 9/13/07, Eion Robb <eion at> wrote:
> I don't know if anyone else is doing this, but I'm half-way through
> writing a cross-platform plugin for libpurple to use Skype.  I just have a
> couple of questions that I've tried looking through the other protocols to
> find the answers to, but I'm a little lost.

Whoa, for real? I'm sure we'd all love to see any information you have about it.

> Skype needs to make a connection before it starts sending chat messages,
> not dissimilar to MSN.  Is it up to the plugin to manage these
> connections, or can libpurple manage it by using the chat_* functions?

It is up to the plugin to manage all its connections. MSN is a good
example of a prpl to look at for pointers.

> Every chat session in Skype is potentially a multi-user chatroom.  Do I
> just implement the join_chat,chat_send functions or is it best to
> implement the skype_send_im function too?

Again, MSN is a good place to look. Libpurple has terrible support for
unnamed chats, but you should see how we do it for MSN where also all
chat sessions are potentially multi-user. We special-case the
one-on-one instance as an IM, and then make multi-user chats chats.

> Skype uses different protocols for interacting with the Skype process on
> different OS's Is there a good way of detecting which OS that libpurple is
> running on?  I've only found G_OS_WIN32 and __OBJC__ #def's so far.

Oh, you're just using the Skype client API. All this talk of
connections got me excited!

We use #ifdef _WIN32 and __APPLE__

> Last question: I can't find what function i need to call in libpurple to
> add contacts to the list.  Can someone point me to the right page in the
> doc's?

purple_blist_add_buddy or purple_blist_request_add_buddy.


More information about the Devel mailing list