Guru

Want to talk with guru@googlelabs.com

guru.py
#!/usr/bin/env python2.7
#http://xmpppy.sourceforge.net/examples/xtalk.py
import xmpp
import sys
import select
 
login = 'login' #w/o @gmail.com
pwd = 'XXX'
 
cnx = xmpp.Client('gmail.com', debug=[])
cnx.connect(server = ('talk.google.com',5223))
cnx.auth(login, pwd, 'somenickname')
#cnx.sendInitPresence()
 
def got_message(con, event):
    type = event.getType()
    fromjid = event.getFrom().getStripped()
    if type in ['message', 'chat', None]:
        answer = event.getBody()
        sys.stdout.write(answer + '\n\n')
 
cnx.RegisterHandler('message', got_message)
 
#msg = xmpp.Message("guru@googlelabs.com", "weather Tallinn")
#msg.setAttr('type', 'chat')
#cnx.send(msg)
 
socketlist = {cnx.Connection._sock: 'xmpp', sys.stdin: 'stdio'}
online = True
 
while online:
    (i, o, e) = select.select(socketlist.keys(), [], [], 1)
    for each in i:
        if socketlist[each] == 'xmpp':                                                                        
             cnx.Process(1)                                                                                   
        elif socketlist[each] == 'stdio':                                                                     
            question = sys.stdin.readline().rstrip('\r\n')                                                    
            if len(question) == 0:                                                                            
                online = False                                                                                
            msg = xmpp.protocol.Message("guru@googlelabs.com", body = question, typ = 'chat')                 
            cnx.send(msg)                                                                                     
        else:                                                                                                 
            raise Exception("Unknown socket type: %s" % repr(socketlist[each]))                               
 
#cnx.disconnect()
Print/export