Modify

#510 closed enhancement (fixed)

integration of facebook chat to bitlbee

Reported by: cimnine <cimnine@…> Owned by:
Priority: wishlist Milestone:
Component: BitlBee Version: 1.2.3
Keywords: chat facebook Cc:
IRC client+version: Client-independent Operating System: Public server
OS version/distro:

Description

Today I was wondering, if bitlbee could implement the (inofficial) Facebook chat API, like Adium did.

After having a look at the MSN code of Bitlbee, together with the inofficial chat API doc, I found, that it would be possible.

http://coderrr.wordpress.com/2008/05/06/facebook-chat-api/ describes the protocol and provides a (ruby) example too. You may wan't to have a look (or reuse code) from the pidgin plugin: http://code.google.com/p/pidgin-facebookchat/

Quick Sum: The facebook API works on basis of HTTP. It uses JSON and a technic called Comet for it's messages. Login is done based on Username & Password. Afterwards you have to extract some values from the page you get. From now on, you can forget HTML (for this task at least). Because now every thing is handles with GET and POST requests. Calling a URL - getting an answer.

Sadly, my C-skills are very, very basic - and I don't have a clue about the bitlbee API, so I decided to open a ticket here.

~Chris

Attachments (0)

Change History (15)

comment:1 Changed at 2009-12-07T14:33:47Z by MentalFS <bitlbee-bugs@…>

It is possible to connect to Facebook right now, but not directly. You need to set up an account with www.nimbuzz.com and then setup a connection to facebook there. It works like a jabber transport. This means you have to give your password to them.

After that, you cann add that account to BitlBee just like any other Jabber account (<nickname>@nimbuzz.com).

There are two things missing for me:

  • For some reason, the nicknames won't be transferred correctly - all the contacts are cryptic numbers which have to be renamed by hand.
  • There's no way to set an away state just for one contact. This ist usually the way to disable a transport by setting yourself to offline just for that one (Jabber allows such things). If you only use Nimbuzz for Facebook, and not for other networks (like MySpace), you can of course just do an account off.

comment:2 Changed at 2010-01-08T16:01:56Z by CodeBlock

This no longer works, unfortunately, as per http://forum.nimbuzz.com/index.php?topic=2915.0

Any other ways to make this work? This is really the only thing preventing me from switching from pidgin to bitlbee 100%.

comment:3 Changed at 2010-01-08T16:11:00Z by Wilmer van der Gaast <wilmer@…>

You may want to try the libpurple branch together with the libpurple-facebookchat plugin.

comment:4 Changed at 2010-01-08T16:32:47Z by CodeBlock

How would I go about compiling in the libpurple-facebookchat plugin? My C/C++ skills are.... well, nonexistent right now. If it's just a matter of some Makefile hacketry I could try my hand at it, but if it requires some code porting, I'm afraid I'm going to have to wait until I either learn C better, or someone is able to do it and release it.

comment:5 Changed at 2010-01-18T23:56:26Z by wilmer

You can download the BitlBee libpruple branch and compile it yourself, which should be a matter of configure + make. The libpurple-facebookchat plugin is available as a package for most Linux distros so that shouldn't be a problem either.

comment:6 Changed at 2010-02-12T06:25:57Z by anonymous

Sweet, facebook grew a half brain and added XMPP support, bitlbee works as is!

However, handles are random strings, can we maybe fix that?

http://www.facebook.com/ajax/sitetour/chat.php?jabber_client=3

comment:7 Changed at 2010-02-12T06:54:58Z by anonymous

Can use this script to rename uid's to something sensical: http://a.ngus.net/bitlbee_rename.pl

Not perfect; but it's a start.

comment:8 Changed at 2010-03-13T01:11:19Z by wilmer

Resolution: fixed
Status: newclosed

changeset:devel,499 adds a nick_source setting to every account. If you set it to full_name/first_name, nicknames on Facebook XMPP connections will look much better.

Anyway, I'm closing this bug since with these XMPP servers, I see little reason for native fb support.

comment:9 Changed at 2010-05-19T12:55:49Z by anonymous

So how do I add my facebook account to bitlbee?

<13:53 @hackeron> account add xmpp email password <13:53 @root> Unknown protocol <13:53 @hackeron> account add facebook email password <13:53 @root> Unknown protocol

comment:10 Changed at 2010-05-19T13:47:24Z by cimnine

account add xmpp userid@… password (userid is not your fb login!, see: http://www.facebook.com/sitetour/chat.php ) Cheers, Chris

comment:11 Changed at 2010-05-19T20:14:49Z by anonymous

<21:14 @hackeron> account add xmpp userid@... password <21:14 @root> Unknown protocol

Now what?

comment:12 Changed at 2010-05-19T21:06:34Z by Wilmer van der Gaast <wilmer@…>

Jabber, not XMPP.

comment:13 Changed at 2010-05-20T11:26:10Z by anonymous

This kind of worked:

account add jabber userid@… password

But all my contacts are numeric and I have to do info -504515740 to get the person's name, any ideas how to get the names to display instead?

comment:14 Changed at 2010-05-20T11:36:32Z by Wilmer van der Gaast <wilmer@…>

help set nick_source account set facebook/nick_source full_name

comment:15 Changed at 2012-05-29T00:26:00Z by bitlbee.org@…

The exact command that worked for me was:

acc 0 set nick_source full_name

Replace "0" with the appropriate account number that you get from "account list".

Modify Ticket

Action
as closed The ticket will remain with no owner.
The resolution will be deleted.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.