Sending a buddy request in ICQ fails when using libpurple

Mark Doliner mark at kingant.net
Wed Aug 5 13:52:42 EDT 2009


On Wed, Aug 5, 2009 at 6:22 AM,
michaelcbrook at msn.com<michaelcbrook at msn.com> wrote:
> Ok, since there's been no replies, I'll elaborate a little...
>
> I made a program using libpurple, and one of its features is the ability
> to send buddy requests to certain users in a database.  It runs strictly
> on the command line.  (And no..it is not a spam bot or any stupid thing
> like that).
>
> Now for the problem: Whenever I send a buddy request from my program to
> another ICQ account, the buddy request is never received on the other
> side.  In my program, I send the buddy request by calling
> purple_account_add_buddy().  Also as another note, when I close my
> program (signing the ICQ account off) and run it again, the buddy I just
> tried to add disappears, so it's not staying on the server-side buddy
> list.
>
> Since pidgin can add ICQ buddies successfully but my program can't (for
> some reason??), I tested out the difference between the debug logs when
> adding a buddy in pidgin and adding a buddy in my program (the buddy is
> logged in on a standard Windows ICQ client):
>
> *Adding buddy in libpurple with purple_account_add_buddy():
>
> (05:54:07) oscar: ssi: adding buddy 401787217 to group Buddies
> (05:54:07) oscar: Requesting ICQ alias for 401787217
> (05:54:07) oscar: rate change (param ID 0x0001): curavg = 4668, maxavg =
> 6000, alert at 2000, clear warning at 2500, limit at 1500, disconnect at
> 800 (window size = 80)
> (05:54:07) oscar: ssi: status is 0x000e for a 0x0008 action with name no
> item
> (05:54:07) oscar: icq response: 60 bytes, 579746952, 0x07da, 0x0028
> (05:54:07) oscar: ssi: status is 0x0000 for a 0x0009 action with name
> Buddies
> (05:54:09) util: Writing file accounts.xml to directory /dev/null
> (05:54:09) util: Error creating directory /dev/null: File exists
> (05:54:12) util: Writing file blist.xml to directory /dev/null
> (05:54:12) util: Error creating directory /dev/null: File exists
>
> The buddy request was never received on the other end...
>
> I know the natural assumption is "your program is broken" but I can
> confirm that it works with 3 out of 4 protocols...It works with AIM,
> Yahoo, and MSN, but fails with ICQ, and it still fails even in the
> simplest program.  I am really stumped and would greatly appreciate any
> help...this problem is delaying the launch of a website I'm creating.

In Pidgin isn't there a dialog that asks the user if they want to
request authorization from the buddy, and allows the user to enter a
little message?  Does your UI handle that?  I think you would need to
implement the request_input callback in the request API.

-Mark




More information about the Support mailing list