跳转至

lyric

models.lyric

Lyric API 返回模型定义.

GetLyricResponse pydantic-model

Bases: Response

歌词接口返回的原始歌词载荷.

ATTRIBUTE DESCRIPTION
song_id

歌曲 ID.

TYPE: int

crypt

是否需要按当前模型约定进行解密.

TYPE: int

lyric

原始歌词内容.

TYPE: str

trans

翻译歌词内容.

TYPE: str

roma

罗马音歌词内容.

TYPE: str

Fields:

decrypt

decrypt() -> GetLyricResponse

返回一个歌词内容已按需解密的响应对象.

RETURNS DESCRIPTION
GetLyricResponse

crypt == 1 时, 返回一个复制后的响应对象, 并将 lyrictransroma 替换为解密文本. 否则直接返回当前实例. 该方法不会原地修改当前对象字段.

TYPE: GetLyricResponse

Source code in qqmusic_api/models/lyric.py
def decrypt(self) -> "GetLyricResponse":
    """返回一个歌词内容已按需解密的响应对象.

    Returns:
        GetLyricResponse: 当 `crypt == 1` 时, 返回一个复制后的响应对象, 并将 `lyric`、`trans`、`roma` 替换为解密文本. 否则直接返回当前实例. 该方法不会原地修改当前对象字段.
    """
    if self.crypt != 1:
        return self

    return self.model_copy(
        update={
            "lyric": qrc_decrypt(self.lyric) if self.lyric else "",
            "trans": qrc_decrypt(self.trans) if self.trans else "",
            "roma": qrc_decrypt(self.roma) if self.roma else "",
        },
    )