Xchat com python script GeoIP

Xchat com python script GeoIP

# cat ~/.xchat2/geoiplookup.py
try:
  import xchat
except:
  print "O modulo xchat soh roda com o xchat"

try:
  import GeoIP
except:
  print "GeoIP module not installed."

import os
import re
import time
import string
# Identificacao
__module_name__ = "xSalada - seu xchat automatico"
__module_version__ = "0.1"
__module_description__ = "Script que retorna a origem do host"
__module_author__ = "jack at icatorze dot com dot br"

###############################
# Get nick country, if possible
###############################
def ipFormatChk(ip_str):
    try:
        num = string.split(ip_str,'.')
	if not len(num) == 4:
	    return False
	else:
	    for n in num:
	    	try:
		    if int(n)  255:
		        return False
		except:
		    return False
            return True
    except:
        return False

def getCountry(word, word_eol, userdata):
    print word
    users = xchat.get_list("users")
    try:
        gi = GeoIP.new(GeoIP.GEOIP_MEMORY_CACHE)
        try:
            nicktoquery = word[1]
        except:
            print "Choose a nick"
	    nicktoquery = ""
        for user in users:
            if user.nick == nicktoquery:
	       partes_host = string.split(user.host,'@',1)
	       hostid = partes_host[1]
	       if ipFormatChk(hostid):
	           print "%s from %s" % (nicktoquery,gi.country_name_by_addr(hostid))
               elif re.match(r'.*/.*', hostid):
		   print "%s cloaked as %s" % (nicktoquery,hostid)
               else:
                   print "%s from %s" % (nicktoquery,gi.country_name_by_name(hostid))
    except:
    	print "GeoIP nao instalado"
    return xchat.EAT_ALL

def getCountryJoin(word, word_eol, userdata):
    #print word[2]
    try:
        gi = GeoIP.new(GeoIP.GEOIP_MEMORY_CACHE)
        partes_host = string.split(word[2],'@',1)
        hostid = partes_host[1]
        if ipFormatChk(hostid):
            print "%s from %s" % (word[0],gi.country_name_by_addr(hostid))
        elif re.match(r'.*/.*', hostid):
	    print "%s cloaked as %s" % (word[0],hostid)
        else:
            print "%s from %s" % (word[0],gi.country_name_by_name(hostid))
    except:
        print "GeoIP nao instalado"
    return xchat.EAT_NONE

try:
    xchat.hook_print("Join", getCountryJoin)
    xchat.hook_command("geoip",getCountry)

except:
    print "modo ajuda ou deu merda!!!"

if __name__ == '__main__':
    pass

Uma resposta to “Xchat com python script GeoIP”

  1. manjei tudo, mano!!

Deixe uma resposta para thunder Cancelar resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

%d blogueiros gostam disto: