예제 #1
0
def api_id2():
    try:
        if 'id1' in request.args:
            team1 = min(int(request.args['id1']), 5000)
        else:
            return "Team 1 invalid."

        team = bat.Team(team1)
        lvl = team.analyze()

    except:
        return "Problem with team id."

    if int(request.args['thread']) > 0:
        thread_id = int(request.args['thread'])
    else:
        thread_id = 1054931

    try:
        new_b = bat.BattleBB(team1, f"Random*{lvl}")
        test, winner = new_b.battle_bb()
        new = nc.NewcivLogin()
        new_p = new.make_newpost(test, thread_id)
        print(f"Success! Winner: {winner}")
        return "Success."
    except:
        print(f"Failure! Team1: {team1} Team2: Random*{lvl}")
        return "Failure."
예제 #2
0
def api_id():
    try:
        if 'id1' in request.args:
            team1 = min(int(request.args['id1']), 5000)
        else:
            return "Team 1 invalid."

        if 'id2' in request.args:
            team2 = min(int(request.args['id2']), 5000)
        else:
            return "Team 2 invalid."

        team1 = 0 if team1 == team2 else team1
    except:
        return "Problem with team ids."

    try:
        new_b = bat.BattleBB(team1, team2)
        test, winner = new_b.battle_bb()
        new = nc.NewcivLogin()
        new_p = new.make_newpost(test, 1054931)
        print(f"Success! Winner: {winner}")
        return "Success."
    except:
        print(f"Failure! Team1: {team1} Team2: {team2}")
        return "Failure."
예제 #3
0
def api_id3():
    try:
        if 'id1' in request.args:
            team1 = min(int(request.args['id1']), 5000)
        else:
            return "Team 1 invalid."

        team = bat.Team(team1)
        lvl = team.analyze()

    except:
        return "Problem with team id."

    if int(request.args['thread']) > 0:
        thread_id = int(request.args['thread'])
    else:
        return "Problem with thread."

    try:
        new_b = bat.BattleBB(team1, f"Random*{lvl}")
        test, winner = new_b.battle_bb()
        new = nc.NewcivLogin()
        new_p = new.make_newpost(test, thread_id)
        print(f"Success! Winner: {winner}")

        total = 0
        for pokemon in team.members:
            total += pokemon.level

        exp_array = []
        for pokemon in team.members:
            exp = 5 + pokemon.level / total * lvl
            if winner.user_id != '15':
                exp_array.append(round(exp))
            else:
                exp_array.append(round(exp / 2))

        new = nc.NewcivLogin()
        exp_str = ','.join(map(str, exp_array))
        print(f"Team:{team.team_id} and exp:{exp_str}")
        new_r = new.reward_team(team.team_id, exp_str)
        return "Success."
    except:
        print(f"Failure! Team1: {team1} Team2: Random*{lvl}")
        return "Failure."
예제 #4
0
def battle(update, context):
    args = update.message.text.split("^")
    team1 = args[0][8:]
    team2 = args[1]
    team1 = 0 if team1 == team2 else team1
    try:
        new_b = bat.BattleBB(team1, team2)
        test, winner = new_b.battle_bb()
        new = nc.NewcivLogin()
        new_p = new.make_newpost(test, 1054931)
        context.bot.send_message(
            chat_id=update.effective_chat.id,
            text=f"Winner: {winner}. Details Posted in thread {new_p.url}",
            disable_web_page_preview=True)
    except:
        context.bot.send_message(chat_id=update.effective_chat.id,
                                 text="Not a valid team!")

    print(f"battle cmd: T1-{team1} T2-{team2}")
예제 #5
0
import newciv_bot as nc
import battle as bat
import sys

print(sys.argv)
print(f"Test: {sys.argv[1]} Test2: {sys.argv[2]}")

a = min(int(sys.argv[1]), 5000)
b = min(int(sys.argv[2]), 5000)
a = 0 if a == b else a


try:
    new_b = bat.BattleBB(a, b)
    test, winner = new_b.battle_bb()
    new = nc.NewcivLogin()
    new_p = new.make_newpost(test, 1054931)
    print(f"Success! Winner: {winner}")
except:
    print(f"Failure! a: {a} b: {b}")
예제 #6
0
def api_id4():
    timestamp = int(time.time())
    with open(f"log/{timestamp}.txt", 'w') as f:
        sys.stdout = f
        print("hello", flush=True)

        try:
            if 'id1' in request.args:
                team1 = min(int(request.args['id1']), 5000)
            else:
                return "Team 1 invalid."

            team = bat.Team(team1)
            lvl = team.analyze()

        except:
            return "Problem with team id."

        if int(request.args['thread']) > 0:
            thread_id = int(request.args['thread'])
        else:
            return "Problem with thread."

        if 'type' in request.args:
            type = min(int(request.args['type']), 99)
        else:
            return "Invalid Gen or Gym."

        gen = np.floor(type / 10)
        badge = type % 10
        print(f"Gym*{lvl}*{gen}*{badge}", flush=True)

        try:
            new_b = bat.BattleBB(team1, f"Gym*{lvl}*{gen}*{badge}")
            test, winner = new_b.battle_bb()
            new = nc.NewcivLogin()
            new_p = new.make_newpost(test, thread_id)
            print(f"Success! Winner: {winner}", flush=True)

            total = 0
            for pokemon in team.members:
                total += pokemon.level

            exp_array = []
            for pokemon in team.members:
                exp = 5 + pokemon.level / total * lvl
                if winner.user_id != '15':
                    exp_array.append(round(exp))
                else:
                    exp_array.append(round(exp / 2))

            new = nc.NewcivLogin()
            exp_str = ','.join(map(str, exp_array))
            print(f"Team:{team.team_id} and exp:{exp_str}", flush=True)
            new_r = new.reward_team(team.team_id, exp_str)
            if winner.user_id == team.user_id:
                new_gym = new.reward_gym(team.user_id, gen, badge, thread_id)
                print(f"Team:{team.team_id} and result:{new_gym}", flush=True)
                if new_gym != 'Good':
                    new_gym = new.reward_gym(team.user_id, gen, badge,
                                             thread_id)
            return "Success."
        except:
            print(f"Failure! Team1: {team1} Team2: Gym*{lvl}*{gen}*{badge}",
                  flush=True)
            return "Failure."