jawikas/hamsterkombat

upgrade cards to requirement level

Opened this issue · 4 comments

некоторые карточки закрыты, потому что не прокачаны дополнительные карты до требуемого уровня, например СЕО не открыть, пока не прокачали Маркетинг до 10 уровня и ТД

upgrade_levels = [
{"name": "Support team", "max_level": 1},
{"name": "HamsterBook", "max_level": 5},
{"name": "X", "max_level": 5},
{"name": "Cointelegraph", "max_level": 10},
{"name": "HamsterTube", "max_level": 8},
{"name": "HamsterGram", "max_level": 3},
{"name": "TikTok", "max_level": 1},
{"name": "Сoindesk", "max_level": 1},
{"name": "Influencers", "max_level": 10},
{"name": "CEO", "max_level": 8},
{"name": "IT team", "max_level": 9},
{"name": "Marketing", "max_level": 2},
{"name": "Partnership program", "max_level": 1},
{"name": "Product team", "max_level": 1},
{"name": "BisDev team", "max_level": 3},
{"name": "UX and UI team", "max_level": 1},
{"name": "QA team", "max_level": 5},
{"name": "Antihacking shield", "max_level": 1},
{"name": "Risk management team", "max_level": 1},
{"name": "Security Audition", "max_level": 1},
{"name": "Tokenomics expert", "max_level": 1},
{"name": "Consensus Explorer pass", "max_level": 1},
{"name": "VC Labs", "max_level": 1},
{"name": "Compliance officer", "max_level": 1},
{"name": "KYC", "max_level": 7},
{"name": "KYB", "max_level": 3},
{"name": "Legal opinion", "max_level": 6},
{"name": "SEC transparancy", "max_level": 10},
{"name": "Anti money loundering", "max_level": 8},
{"name": "Licence UAE", "max_level": 1},
{"name": "Licence Europe", "max_level": 1},
{"name": "Licence Asia", "max_level": 1},
{"name": "Licence South America", "max_level": 1},
{"name": "Licence Australia", "max_level": 1},
{"name": "Licence North America", "max_level": 1},
{"name": "Licence Nigeria", "max_level": 1},
{"name": "Fan tokens", "max_level": 1},
{"name": "Staking", "max_level": 1},
{"name": "BTC pairs", "max_level": 1},
{"name": "ETH pairs", "max_level": 1},
{"name": "Top 10 cmc pairs", "max_level": 1},
{"name": "GameFi tokens", "max_level": 11},
{"name": "Defi2.0 tokens", "max_level": 1},
{"name": "SocialFi tokens", "max_level": 1},
{"name": "Meme coins", "max_level": 1},
{"name": "Shit coins", "max_level": 5},
{"name": "Margin trading x10", "max_level": 5},
{"name": "Margin trading x20", "max_level": 9},
{"name": "Margin trading x30", "max_level": 8},
{"name": "Margin trading x50", "max_level": 13},
{"name": "Derivatives", "max_level": 1},
{"name": "Web3 integration", "max_level": 1},
{"name": "P2P trading", "max_level": 1},
{"name": "Trading bots", "max_level": 1},
]

добавил список карточке, которые последовательно надо открывать до заданного уровня, чтобы открылись другие

Обработка каждого апгрейда из списка

    for upgrade_info in upgrade_levels:
        for upgrade in upgrades:
            if upgrade['name'] == upgrade_info["name"]:
                level = upgrade['level']
                if level <= upgrade_info["max_level"]:
                    count = upgrade_info["max_level"] - level + 1
                    for _ in range(count):
                        status = buy_upgrade(
                            token,
                            upgrade['id'],
                            upgrade['name'],
                            upgrade['level'],
                            upgrade['profitPerHour'],
                            upgrade['price']
                        )
                        if status == 'insufficient_funds':
                            break

Обработка каждого апгрейда из списка

    for upgrade_info in upgrade_levels:
        for upgrade in upgrades:
            if upgrade['name'] == upgrade_info["name"]:
                level = upgrade['level']
                if level <= upgrade_info["max_level"]:
                    count = upgrade_info["max_level"] - level + 1
                    for _ in range(count):
                        status = buy_upgrade(
                            token,
                            upgrade['id'],
                            upgrade['name'],
                            upgrade['level'],
                            upgrade['profitPerHour'],
                            upgrade['price']
                        )
                        if status == 'insufficient_funds':
                            break

@mirage2812 подскажи как встроить обработчик в код.

я вставил после строки в файле exceptions.py:
log(kng + f"Combo not fully purchased ", flush=True)

но покупаются другие карточки