Module genshin.models.zzz.chronicle.events

ZZZ chronicle event calendar models.

Classes

class ZZZCharacterGachaEvent (**data: Any)
Expand source code
class ZZZCharacterGachaEvent(ZZZGachaEvent):
    """ZZZ gacha event for characters."""

    characters: typing.Sequence[ZZZGachaEventCharacter] = Aliased("avatar_list")

ZZZ gacha event for characters.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Ancestors

Class variables

var characters : Sequence[ZZZGachaEventCharacter]
var model_config : pydantic.config.ConfigDict

Inherited members

class ZZZEvent (**data: Any)
Expand source code
class ZZZEvent(APIModel):
    """ZZZ event calendar event."""

    id: int = Aliased("activity_id")
    status: typing.Union[ZZZEventStatus, str] = Aliased("state")
    name: str

    obtained_monochromes: int = Aliased("monochrome_got_cnt")
    max_monochromes: int = Aliased("monochrome_cnt")

    start: UnixDateTime = Aliased("start_ts")
    end: UnixDateTime = Aliased("end_ts")

    seconds_until_start: int = Aliased("left_start_ts")
    seconds_until_end: int = Aliased("left_end_ts")

    @pydantic.field_validator("status", mode="before")
    def __validate_status(cls, v: str) -> typing.Union[ZZZEventStatus, str]:
        return prevent_enum_error(v, ZZZEventStatus)

ZZZ event calendar event.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Ancestors

Class variables

var end : datetime.datetime
var id : int
var max_monochromes : int
var model_config : pydantic.config.ConfigDict
var name : str
var obtained_monochromes : int
var seconds_until_end : int
var seconds_until_start : int
var start : datetime.datetime
var status : ZZZEventStatus | str
class ZZZEventStatus (value, names=None, *, module=None, qualname=None, type=None, start=1)
Expand source code
class ZZZEventStatus(Enum):
    """ZZZ event status enum."""

    IN_PROGRESS = "STATE_IN_PROGRESS"
    COMPLETED = "STATE_COMPLETED"
    NOT_STARTED = "STATE_NOT_START"

ZZZ event status enum.

Ancestors

  • enum.Enum

Class variables

var COMPLETED
var IN_PROGRESS
var NOT_STARTED
class ZZZGachaCalendar (**data: Any)
Expand source code
class ZZZGachaCalendar(APIModel):
    """ZZZ gacha calendar model."""

    characters: typing.Sequence[ZZZCharacterGachaEvent] = Aliased("avatar_gacha_schedule_list")
    weapons: typing.Sequence[ZZZWeaponGachaEvent] = Aliased("weapon_gacha_schedule_list")

ZZZ gacha calendar model.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Ancestors

Class variables

var characters : Sequence[ZZZCharacterGachaEvent]
var model_config : pydantic.config.ConfigDict
var weapons : Sequence[ZZZWeaponGachaEvent]
class ZZZGachaEvent (**data: Any)
Expand source code
class ZZZGachaEvent(APIModel):
    """ZZZ gacha event model."""

    type: typing.Union[ZZZGachaEventType, str] = Aliased("gacha_type")
    status: typing.Union[ZZZGachaEventStatus, str] = Aliased("gacha_state")
    version: str
    """Like 2.4, 2.5."""

    start: UnixDateTime = Aliased("start_ts")
    end: UnixDateTime = Aliased("end_ts")

    seconds_until_start: int = Aliased("left_start_ts")
    seconds_until_end: int = Aliased("left_end_ts")

    # No clue what these are
    sup_lock_show: bool
    insurance_id: int

    @pydantic.field_validator("type", mode="before")
    def __validate_type(cls, v: str) -> typing.Union[ZZZGachaEventType, str]:
        return prevent_enum_error(v, ZZZGachaEventType)

    @pydantic.field_validator("status", mode="before")
    def __validate_status(cls, v: str) -> typing.Union[ZZZGachaEventStatus, str]:
        return prevent_enum_error(v, ZZZGachaEventStatus)

ZZZ gacha event model.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Ancestors

Subclasses

Class variables

var end : datetime.datetime
var insurance_id : int
var model_config : pydantic.config.ConfigDict
var seconds_until_end : int
var seconds_until_start : int
var start : datetime.datetime
var status : ZZZGachaEventStatus | str
var sup_lock_show : bool
var type : ZZZGachaEventType | str
var version : str

Like 2.4, 2.5.

class ZZZGachaEventCharacter (**data: Any)
Expand source code
class ZZZGachaEventCharacter(APIModel):
    """ZZZ gacha event character."""

    id: int = Aliased("avatar_id")
    name: str = Aliased("avatar_name")
    full_name: str

    rarity: typing.Literal["S", "A"]
    icon: str
    specialty: ZZZSpecialty = Aliased("avatar_profession")
    element: ZZZElementType = Aliased("avatar_element_type")
    sub_element: int = Aliased("avatar_sub_element_type")  # Probably like Miyabi's Frost

    wiki_url: str
    jump_cultivate: bool
    is_forward: bool
    show_upon: bool

ZZZ gacha event character.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Ancestors

Class variables

var element : ZZZElementType
var full_name : str
var icon : str
var id : int
var is_forward : bool
var jump_cultivate : bool
var model_config : pydantic.config.ConfigDict
var name : str
var rarity : Literal['S', 'A']
var show_upon : bool
var specialty : ZZZSpecialty
var sub_element : int
var wiki_url : str
class ZZZGachaEventStatus (value, names=None, *, module=None, qualname=None, type=None, start=1)
Expand source code
class ZZZGachaEventStatus(Enum):
    """ZZZ gacha event status enum."""

    IN_PROGRESS = "GACHA_STATE_IN_PROGRESS"
    COMPLETED = "GACHA_STATE_COMPLETED"
    NOT_STARTED = "GACHA_STATE_NOT_START"

ZZZ gacha event status enum.

Ancestors

  • enum.Enum

Class variables

var COMPLETED
var IN_PROGRESS
var NOT_STARTED
class ZZZGachaEventType (value, names=None, *, module=None, qualname=None, type=None, start=1)
Expand source code
class ZZZGachaEventType(Enum):
    """ZZZ gacha event type enum."""

    CHARACTER = "GACHA_TYPE_CHARACTER_UP"
    WEAPON = "GACHA_TYPE_WEAPON_UP"
    PERMANENT = "GACHA_TYPE_PERMANENT"
    BANGBOO = "GACHA_TYPE_BANGBOO"
    EXCLUSIVE_RESCREENING = "GACHA_TYPE_CHARACTER_RETURN"
    REVERBERATION = "GACHA_TYPE_WEAPON_RETURN"

ZZZ gacha event type enum.

Ancestors

  • enum.Enum

Class variables

var BANGBOO
var CHARACTER
var EXCLUSIVE_RESCREENING
var PERMANENT
var REVERBERATION
var WEAPON
class ZZZGachaEventWeapon (**data: Any)
Expand source code
class ZZZGachaEventWeapon(APIModel):
    """ZZZ gacha event weapon."""

    id: int = Aliased("weapon_id")
    rarity: typing.Literal["S", "A"]
    icon: str
    specialty: ZZZSpecialty = Aliased("profession")

    skill_name: str = Aliased("talent_title")
    skill_description: str = Aliased("talent_content")

    wiki_url: str
    show_upon: bool

ZZZ gacha event weapon.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Ancestors

Class variables

var icon : str
var id : int
var model_config : pydantic.config.ConfigDict
var rarity : Literal['S', 'A']
var show_upon : bool
var skill_description : str
var skill_name : str
var specialty : ZZZSpecialty
var wiki_url : str
class ZZZWeaponGachaEvent (**data: Any)
Expand source code
class ZZZWeaponGachaEvent(ZZZGachaEvent):
    """ZZZ gacha event for weapons."""

    weapons: typing.Sequence[ZZZGachaEventWeapon] = Aliased("weapon_list")

ZZZ gacha event for weapons.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Ancestors

Class variables

var model_config : pydantic.config.ConfigDict
var weapons : Sequence[ZZZGachaEventWeapon]

Inherited members