package bilibili import ( "fmt" ) type roomProfile struct { UID int `json:"uid"` RoomID RoomId `json:"room_id"` ShortID int `json:"short_id"` Attention int `json:"attention"` Online int `json:"online"` IsPortrait bool `json:"is_portrait"` Description string `json:"description"` LiveStatus int `json:"live_status"` AreaID int `json:"area_id"` ParentAreaID int `json:"parent_area_id"` ParentAreaName string `json:"parent_area_name"` OldAreaID int `json:"old_area_id"` Background string `json:"background"` Title string `json:"title"` UserCover string `json:"user_cover"` Keyframe string `json:"keyframe"` IsStrictRoom bool `json:"is_strict_room"` LiveTime string `json:"live_time"` Tags string `json:"tags"` IsAnchor int `json:"is_anchor"` RoomSilentType string `json:"room_silent_type"` RoomSilentLevel int `json:"room_silent_level"` RoomSilentSecond int `json:"room_silent_second"` AreaName string `json:"area_name"` Pendants string `json:"pendants"` AreaPendants string `json:"area_pendants"` HotWords []string `json:"hot_words"` HotWordsStatus int `json:"hot_words_status"` Verify string `json:"verify"` NewPendants struct { Frame struct { Name string `json:"name"` Value string `json:"value"` Position int `json:"position"` Desc string `json:"desc"` Area int `json:"area"` AreaOld int `json:"area_old"` BgColor string `json:"bg_color"` BgPic string `json:"bg_pic"` UseOldArea bool `json:"use_old_area"` } `json:"frame"` Badge struct { Name string `json:"name"` Position int `json:"position"` Value string `json:"value"` Desc string `json:"desc"` } `json:"badge"` MobileFrame struct { Name string `json:"name"` Value string `json:"value"` Position int `json:"position"` Desc string `json:"desc"` Area int `json:"area"` AreaOld int `json:"area_old"` BgColor string `json:"bg_color"` BgPic string `json:"bg_pic"` UseOldArea bool `json:"use_old_area"` } `json:"mobile_frame"` MobileBadge interface{} `json:"mobile_badge"` } `json:"new_pendants"` UpSession string `json:"up_session"` PkStatus int `json:"pk_status"` PkID int `json:"pk_id"` BattleID int `json:"battle_id"` AllowChangeAreaTime int `json:"allow_change_area_time"` AllowUploadCoverTime int `json:"allow_upload_cover_time"` StudioInfo struct { Status int `json:"status"` MasterList []interface{} `json:"master_list"` } `json:"studio_info"` } type RoomProfileResponse = BaseResponse[roomProfile] func (b Bilibili) GetRoomProfile(roomId RoomId) (resp RoomProfileResponse, err error) { url := fmt.Sprintf("https://api.live.bilibili.com/room/v1/Room/get_info?room_id=%d", roomId) return callGet[RoomProfileResponse](b, url) } type RoomId uint64