Exemple #1
0
def botDonador(s):
    if botValido(s) is False:
        return
    print('¿Donar a aserraderos o a bienes de cambio? [a/b]')
    rta = read(values=['a', 'A', 'b', 'B'])
    tipo = 'resource' if rta.lower() == 'a' else 'tradegood'
    print('Se donará todos los días.')
    enter()

    forkear(s)
    if s.padre is True:
        return

    info = '\nDono todos los días\n'
    setInfoSignal(s, info)
    (idsCiudades, ciudades) = getIdsDeCiudades(s)
    ciudades_dict = {}
    for idCiudad in idsCiudades:
        html = s.get(urlCiudad + idCiudad)
        ciudad = getCiudad(html)
        ciudades_dict[idCiudad] = ciudad['islandId']
    try:
        do_it(s, tipo, idsCiudades, ciudades_dict)
    except:
        msg = 'Error en:\n{}\nCausa:\n{}'.format(info, traceback.format_exc())
        sendToBot(s, msg)
        s.logout()
Exemple #2
0
def alertarAtaques(s):
    if botValido(s) is False:
        return
    print('Se buscarán ataques cada 15 minutos.')
    enter()

    forkear(s)
    if s.padre is True:
        return

    info = '\nEspero por ataques cada 15 minutos\n'
    setInfoSignal(s, info)
    try:
        do_it(s)
    except:
        msg = 'Error en:\n{}\nCausa:\n{}'.format(info, traceback.format_exc())
        sendToBot(s, msg)
        s.logout()
Exemple #3
0
def entrarDiariamente(s):
    if botValido(s) is False:
        return
    print('Se entrará todos los días automaticamente.')
    enter()

    forkear(s)
    if s.padre is True:
        return

    info = '\nEntro diariamente\n'
    setInfoSignal(s, info)
    try:
        do_it(s)
    except:
        msg = 'Error en:\n{}\nCausa:\n{}'.format(info, traceback.format_exc())
        sendToBot(s, msg)
        s.logout()
Exemple #4
0
def buscarEspacios(s):
    if botValido(s) is False:
        return
    print('Se buscarán espacios nuevos cada hora.')
    enter()

    forkear(s)
    if s.padre is True:
        return

    info = '\nBusco espacios nuevos en las islas cada 1 hora\n'
    setInfoSignal(s, info)
    idIslas = getIdsdeIslas(s)
    try:
        do_it(s, idIslas)
    except:
        msg = 'Error en:\n{}\nCausa:\n{}'.format(info, traceback.format_exc())
        sendToBot(s, msg)
        s.logout()
Exemple #5
0
def botValido(s):
    if telegramFileValido():
        return True
    else:
        print(
            'Debe proporcionar las credenciales válidas para comunicarse por telegram.'
        )
        print('Se requiere del token del bot a utilizar y de su chat_id')
        print(
            'Para más informacion sobre como obtenerlos vea al readme de https://github.com/santipcn/ikabot'
        )
        rta = read(msg='¿Porporcionará las credenciales ahora? [y/N]',
                   values=['y', 'Y', 'n', 'N', ''])
        if rta.lower() != 'y':
            return False
        else:
            botToken = read(msg='Token del bot:')
            chat_id = read(msg='Chat_id:')
            with open(config.telegramFile, 'w') as filehandler:
                filehandler.write(botToken + '\n' + chat_id)
            rand = random.randint(1000, 9999)
            sendToBot(s,
                      'El token a ingresar es:{:d}'.format(rand),
                      Token=True)
            rta = read(
                msg='Se envio un mensaje por telegram, ¿lo recibió? [Y/n]',
                values=['y', 'Y', 'n', 'N', ''])
            if rta.lower() == 'n':
                with open(config.telegramFile, 'w') as file:
                    pass
                print('Revíse las credenciales y vuelva a proveerlas.')
                enter()
                return False
            else:
                recibido = read(
                    msg='Ingrese el token recibido mediante telegram:',
                    digit=True)
                if rand != recibido:
                    with open(config.telegramFile, 'w') as file:
                        pass
                    print('El token es incorrecto')
                    enter()
                    return False
                else:
                    print('El token es correcto.')
                    enter()
                    return True