Skip to content

Constants

constants

Constants hardcoded for optimizations.

Attributes:

APP_IDS module-attribute

APP_IDS = {
    GENSHIN: {OVERSEAS: "4", CHINESE: "4"},
    STARRAIL: {OVERSEAS: "11", CHINESE: "8"},
    HONKAI: {OVERSEAS: "8", CHINESE: "1"},
    ZZZ: {OVERSEAS: "15", CHINESE: "12"},
}

App IDs used for game login.

APP_KEYS module-attribute

APP_KEYS = {
    GENSHIN: {
        OVERSEAS: "6a4c78fe0356ba4673b8071127b28123",
        CHINESE: "d0d3a7342df2026a70f650b907800111",
    },
    STARRAIL: {
        OVERSEAS: "d74818dabd4182d4fbac7f8df1622648",
        CHINESE: "4650f3a396d34d576c3d65df26415394",
    },
    HONKAI: {
        OVERSEAS: "243187699ab762b682a2a2e50ba02285",
        CHINESE: "0ebc517adb1b62c6b408df153331f9aa",
    },
    ZZZ: {
        OVERSEAS: "ff0f2776bf515d79d1f8ff1fb98b2a06",
        CHINESE: "4650f3a396d34d576c3d65df26415394",
    },
}

App keys used for game login.

CN_TIMEZONE module-attribute

CN_TIMEZONE = timezone(timedelta(hours=8))

CODE_SUPPORTED_GAMES module-attribute

CODE_SUPPORTED_GAMES = {GENSHIN, ZZZ, STARRAIL, TOT}

Games that support redeeming codes.

DS_SALT module-attribute

DS_SALT: Final[Dict[Union[Region, str], str]] = {
    OVERSEAS: "6s25p5ox5y14umn1p61aqyyvbvvl3lrt",
    CHINESE: "xV8v4Qu54lUKrEYFZkJhB8cuOh9Asafs",
    "app_login": "IZPgfb0dRPtBeLuFkdDznSZ6f4wWt6y2",
    "cn_signin": "LyD1rXqMv2GJhnwdvCBjFOKGiKuLY3aO",
    "cn_passport": "JwYDpKvLj6MrMqqYU6jTKF17KNO2PXoS",
}

Dynamic Secret Salts.

GAME_BIZS module-attribute

GAME_BIZS = {
    OVERSEAS: {
        GENSHIN: "hk4e_global",
        STARRAIL: "hkrpg_global",
        HONKAI: "bh3_os",
        ZZZ: "nap_global",
    },
    CHINESE: {
        GENSHIN: "hk4e_cn",
        STARRAIL: "hkrpg_cn",
        HONKAI: "bh3_cn",
        ZZZ: "nap_cn",
    },
}

GAME_LANGS module-attribute

GAME_LANGS: Final[Dict[Game, Tuple[Lang, ...]]] = {
    HONKAI: (
        "zh-cn",
        "zh-tw",
        "de-de",
        "en-us",
        "es-es",
        "fr-fr",
        "id-id",
        "ja-jp",
        "ko-kr",
        "pt-pt",
        "ru-ru",
        "th-th",
        "vi-vn",
    ),
    GENSHIN: (
        "zh-cn",
        "zh-tw",
        "de-de",
        "en-us",
        "es-es",
        "fr-fr",
        "id-id",
        "it-it",
        "ja-jp",
        "ko-kr",
        "pt-pt",
        "ru-ru",
        "th-th",
        "tr-tr",
        "vi-vn",
    ),
    STARRAIL: (
        "zh-cn",
        "zh-tw",
        "de-de",
        "en-us",
        "es-es",
        "fr-fr",
        "id-id",
        "ja-jp",
        "ko-kr",
        "pt-pt",
        "ru-ru",
        "th-th",
        "vi-vn",
    ),
    ZZZ: (
        "zh-cn",
        "zh-tw",
        "de-de",
        "en-us",
        "es-es",
        "fr-fr",
        "id-id",
        "ja-jp",
        "ko-kr",
        "pt-pt",
        "ru-ru",
        "th-th",
        "vi-vn",
    ),
    TOT: (
        "zh-cn",
        "zh-tw",
        "de-de",
        "en-us",
        "es-es",
        "fr-fr",
        "id-id",
        "ja-jp",
        "ko-kr",
        "pt-pt",
        "ru-ru",
        "th-th",
        "vi-vn",
    ),
}

GEETEST_RECORD_KEYS module-attribute

GEETEST_RECORD_KEYS = {
    GENSHIN: "genshin_game_record",
    STARRAIL: "hkrpg_game_record",
    HONKAI: "bh3_game_record",
    ZZZ: "nap_game_record",
    TOT: "nxx_game_record",
}

Keys used to submit geetest result.

GEETEST_RETCODES module-attribute

GEETEST_RETCODES = {10035, 5003, 10041, 1034}

API error codes that indicate a Geetest was triggered during the API request.

LANGS module-attribute

LANGS: Final[Dict[Lang, str]] = {
    "zh-cn": "简体中文",
    "zh-tw": "繁體中文",
    "de-de": "Deutsch",
    "en-us": "English",
    "es-es": "Español",
    "fr-fr": "Français",
    "id-id": "Indonesia",
    "it-it": "Italiano",
    "ja-jp": "日本語",
    "ko-kr": "한국어",
    "pt-pt": "Português",
    "ru-ru": "Pусский",
    "th-th": "ภาษาไทย",
    "vi-vn": "Tiếng Việt",
    "tr-tr": "Türkçe",
}

Languages supported by the API.

SERVER_TIMEZONES module-attribute

SERVER_TIMEZONES: Final[dict[int, Tuple[str, ...]]] = {
    8: (
        "cn_gf01",
        "cn_qd01",
        "os_asia",
        "os_cht",
        "prod_gf_cn",
        "prod_qd_cn",
        "prod_official_asia",
        "prod_official_cht",
        "prod_gf_sg",
        "prod_gf_jp",
        "prod_gf_cn",
    ),
    -5: ("os_usa", "prod_official_usa", "prod_gf_us"),
    1: ("os_euro", "prod_official_eur", "prod_gf_eu"),
}

WEB_EVENT_GAME_IDS module-attribute

WEB_EVENT_GAME_IDS = {
    GENSHIN: 2,
    STARRAIL: 6,
    HONKAI: 1,
    ZZZ: 8,
    TOT: 4,
}