quinta-feira, 2 de setembro de 2010

Descubra quem está "invisível" no Gtalk com um Script em Python [LINUX]

Dando voltas por aí, e depois de ver que já havia um plug-in para Voz e Video no chat do Google, descobri um Script escrito em Python que serve para "apanhar" aqueles contactos que temos na lista e que podem estar em modo invisível.


Para usar este Script em Python, copie e cole o código num ficheiro de texto e dê-lhe o nome de "gchat.py".

Instale também os pacotes:

  • python-xmpp
  • python-dnspython 

Através da linha comandos introduza como ROOT:

# aptitude install python-xmpp python-dnspython 

Ou também pode fazê-lo através do Gestor de Pacotes Synaptic.

Eis o Script:



import xmpp



# Google Talk constants

FROM_GMAIL_ID = "username@gmail.com"

GMAIL_PASS = "secret"

GTALK_SERVER = "gmail.com"



jid=xmpp.protocol.JID(FROM_GMAIL_ID)

C=xmpp.Client(jid.getDomain(),debug=[])



if not C.connect((GTALK_SERVER,5222)):

    raise IOError('Can not connect to server.')

if not C.auth(jid.getNode(),GMAIL_PASS):

    raise IOError('Can not auth with server.')



C.sendInitPresence(requestRoster=1)



def myPresenceHandler(con, event):

   if event.getType() == 'unavailable':

     print event.getFrom().getStripped()



C.RegisterHandler('presence', myPresenceHandler)

while C.Process(1):

  pass




Onde diz:

FROM_GMAIL_ID = "username@gmail.com"
GMAIL_PASS = "secret"

Substitua username@gmail.com e secret pelo seu nome de utilizador e palavra-passe, respectivamente.

Para executar o Script:

$ python gchat.py

E já está.... já pode descobrir que anda invisível por aí lol !!

Gostou ? Deixe um comentário.

Sem comentários:

Enviar um comentário

É favor manter a boa educação nos comentários. Qualquer comentário ofensivo, racista, desprestigioso, apenas com objectivo de inundar o blogue ou comentários de publicidade não solicitada serão eliminados. Serão aceites comentários em Português, Espanhol e Inglês. Comentarios en Portugues, Español y Ingles seran aceptados. Comments in Portuguese, Spanish and English will be accepted.