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()