However, it was not as easy as I thought.
I figured I would use my IM 8-Ball applicatoin, and just simply use the same CFC, just create a new gateway with a different configuration.
No luck....while CFAdmin showed it was running, I could not get it to appear in my buddy list.
After reading a post by Jared Rypka-Hauer about the issues he was having, I started to experiment.
What I discoverd is that in order for users to add you CF Google user, you must have an onAddBuddyReponse() method in your CFC, even if it is empty.
How did I discover this, easy, I started with an empty CFC. Then I gradually added methods. First, I added an onIncomingMessage()...that didn't help...nor did I think it would.
Then I added, onBuddyRequest()...nothing.....onIMServerMessage()...nada.... onBuddyResponse()...BINGO. I could add the user account for my gateway to my buddy list, and it appeared as 'Online'.
If you have been pulling your hair out, likeek me give this a shot, just add:
to your CFC and you should be good to go.
And for you Google Talk users....the 8-ball is available by adding zoids8ball@gmail.com to your buddy list.
For any Yahoo or AOL users you can alo use:
Yahoo: cf_eightball
AOL: cfmx8ball




6 comments
Good point, the CFC I was using (the menu example that came with CFMX 7) already had a onAddBuddyResponse method... so I didn't run into that problem. I think what we have here is several things going on at once.
Without the onAddBuddyRequest code to tell a buddy that wants to add you that he/she can, it won't work.
Without the code to force the account in Google Talk into PERMIT_ALL, it'll stay in Google's default PERMIT_SOME mode (I would guess this is a permanent setting, btw, change it once on an account and it stays that way till changed again), it will only allow your IM account to receive messages from other accounts already having you on their buddy lists.
Without an onAddBuddyResponse function to handle buddy add responses it'll choke and not respond at all.
So I'm guessing that all 3 have to be in place or it won't work.
Laterz,
J
In the gateway I set-up to test our collective theories, I never used that code, and any gmail user can still connect to the CF server.
Also, before ever attempting to add the user via an IM Client, I ran the following code:
<cfset thisGateway = GetGatewayHelper("gateway name").getPermitMode()>
<cfdump var="#thisGateway#"/>
and the result was: PERMIT_ALL
The first, and ony time, the user specified in this gateway connected to Google Talk was when the gateway was started.
Also, several attempts to change the "permit Mode" resulted in a return of 'FALSE', which according to the docs, means the change was not successful.
However, I agree on the other points, you need onAddBuddyRequest() and onAddBuddyResponse() methods in your CFC. I just figured there would already be an onBuddyRequest() method.
Ben - It shold show up now. If not remove it from your buddy list and add it again.
Scott
I am trying to open unofficial Google Talk Members List at:
http://www.pleven.net/Chat-room-Google-free-talk/M...
CAn you help me to install some think as Google Talk bot? Seems it will be helpful for all our users.
Best regards,
Don
I am a little late to the party, but does this still work?
I have tried almost everything i know to do, and can not get the XMPP gateway to start.
Did google change something?
thanks
tim