Wednesday, April 21, 2010

Purple supported in Concept

I've just finished testing the basic functionality for libpurlpe (the IM library behind Pidgin). It now has a wrapper in the standard Concept Application Server distribution. It's a nice library supporting most common IM protocols like AIM, Yahoo, MSN, ICQ, IRC, MySpaceIM and many more. Also, lots of custom plug-ins available on the web, like microblog. It has a really complex interface with almost 0 documentation, but after spending almost 3 days I've managed to write a basic wrapper for it.

So, just include BasicPurpleIO.con in your project, and you can work with something like this:

P=new BasicPurpleIO();
echo P.Protocols;
P.OnSignedOn=OnSignedOn;
P.OnMessage=OnMessage;
P.OnFileTransfer=OnFileTransfer;
P.OnFinishTransfer=OnFinishTransfer;
P.Login("prpl-yahoo", "your_id", "your_password");
P.Go();

the Protocols property will list all the supported properties, anything else is really straightforward. See the Samples/Net directory for an working example (test-IM.con).

On Debian, there is a catch. You must run it with a LD_PRELOAD option (not really sure why, but I've seen the same problem in Python). For example, if your script is called test-IM.con, you should run it:
$ LD_PRELOAD=/usr/lib/libpurple.so conceptcli test-IM.con

I hope to solve this problem soon (or at least somebody does).

You just have to write a pretty colors user interface, and you'll have your own IM client.

By the way, while writing the wrapper, I've noticed some APIs that could be used to write software to identify your invisible buddies on Yahoo. Did you noticed the number of users of scanner websites? Now multiply with 0.1c ... One more reason to learn Concept.

No comments: