live

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 11, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

Package live contains parameters and stable response models for Bilibili's promoted live read APIs.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ActivityBoxInfo

type ActivityBoxInfo map[string]json.RawMessage

type BannedUser

type BannedUser struct {
	UID          int64  `json:"uid"`
	ModifiedAt   string `json:"mtime"`
	Face         string `json:"face"`
	Name         string `json:"name"`
	IsAnchor     bool   `json:"is_anchor"`
	OperatorName string `json:"operator_name"`
	AdminLevel   int8   `json:"admin_level"`
	IsMystery    bool   `json:"is_mystery"`
}

type BannedUsers

type BannedUsers struct {
	Data      []BannedUser `json:"data"`
	Total     int32        `json:"total"`
	TotalPage int32        `json:"total_page"`
	Page      int32        `json:"pn"`
	PageSize  int32        `json:"ps"`
}

type BannedUsersParams

type BannedUsersParams struct {
	// contains filtered or unexported fields
}

BannedUsersParams configures an anchor blacklist read. roomID is carried separately because the endpoint requires a room-specific Referer.

func NewBannedUsersParams

func NewBannedUsersParams(roomID ids.RoomID, anchorID ids.MID) BannedUsersParams

func (BannedUsersParams) EncodeQuery

func (p BannedUsersParams) EncodeQuery(csrf string) (url.Values, error)

func (BannedUsersParams) Referer

func (p BannedUsersParams) Referer() (string, error)

func (BannedUsersParams) WithPage

func (p BannedUsersParams) WithPage(page uint32) (BannedUsersParams, error)

func (BannedUsersParams) WithPageSize

func (p BannedUsersParams) WithPageSize(pageSize uint32) (BannedUsersParams, error)

type BlindGift

type BlindGift struct {
	GiftID    int64  `json:"gift_id"`
	Price     int64  `json:"price"`
	GiftName  string `json:"gift_name"`
	GiftImage string `json:"gift_img"`
	Chance    string `json:"chance"`
}

type BlindGiftInfo

type BlindGiftInfo struct {
	NoteText      string      `json:"note_text"`
	BlindPrice    int64       `json:"blind_price"`
	BlindGiftName string      `json:"blind_gift_name"`
	Gifts         []BlindGift `json:"gifts"`
}

type BlindGiftInfoParams

type BlindGiftInfoParams struct {
	// contains filtered or unexported fields
}

BlindGiftInfoParams identifies a blind-box gift.

func NewBlindGiftInfoParams

func NewBlindGiftInfoParams(giftID uint64) (BlindGiftInfoParams, error)

func (BlindGiftInfoParams) EncodeQuery

func (p BlindGiftInfoParams) EncodeQuery() (url.Values, error)

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client provides the promoted read-only live API surface. It is a lightweight view over Client and is safe to use concurrently.

func NewClient

func NewClient(client *core.Client) Client

NewClient binds the live module to a shared client.

func (Client) AreaList

func (l Client) AreaList(ctx context.Context) ([]ParentArea, error)

func (Client) BannedUsers

func (l Client) BannedUsers(ctx context.Context, params BannedUsersParams) (BannedUsers, error)

func (Client) BlindGiftInfo

func (l Client) BlindGiftInfo(ctx context.Context, params BlindGiftInfoParams) (BlindGiftInfo, error)

func (Client) DanmuInfo

func (l Client) DanmuInfo(ctx context.Context, params DanmuInfoParams) (DanmuInfo, error)

func (Client) Emoticons

func (l Client) Emoticons(ctx context.Context, params EmoticonsParams) (EmoticonData, error)

func (Client) FollowUpList

func (l Client) FollowUpList(ctx context.Context, params FollowUpListParams) (FollowUpList, error)

func (Client) FollowUpWebList

func (l Client) FollowUpWebList(ctx context.Context, params FollowUpWebListParams) (FollowUpWebList, error)

func (Client) GiftTypes

func (l Client) GiftTypes(ctx context.Context) ([]GiftType, error)

func (Client) GuardList

func (l Client) GuardList(ctx context.Context, params GuardListParams) (GuardList, error)

func (Client) LotteryInfo

func (l Client) LotteryInfo(ctx context.Context, params LotteryInfoParams) (LotteryInfo, error)

func (Client) MyMedals

func (l Client) MyMedals(ctx context.Context, params MyMedalsParams) (MyMedals, error)

func (Client) Recommend

func (l Client) Recommend(ctx context.Context) (Recommend, error)

func (Client) ReplayList

func (l Client) ReplayList(ctx context.Context, params ReplayListParams) (ReplayList, error)

func (Client) RoomGiftList

func (l Client) RoomGiftList(ctx context.Context, params RoomGiftListParams) (RoomGiftList, error)

func (Client) RoomInfo

func (l Client) RoomInfo(ctx context.Context, params RoomInfoParams) (RoomInfo, error)

func (Client) ShieldKeywords

func (l Client) ShieldKeywords(ctx context.Context, params ShieldKeywordsParams) (ShieldKeywords, error)

func (Client) SilentUsers

func (l Client) SilentUsers(ctx context.Context, params SilentUsersParams) (SilentUsers, error)

func (Client) Stream

func (l Client) Stream(ctx context.Context, params StreamParams) (Stream, error)

func (Client) Version

func (l Client) Version(ctx context.Context) (Version, error)

func (Client) WebHeartBeat

func (l Client) WebHeartBeat(ctx context.Context, params WebHeartBeatParams) (HeartBeat, error)

type DanmuHost

type DanmuHost struct {
	Host    string `json:"host"`
	Port    uint32 `json:"port"`
	WSSPort uint32 `json:"wss_port"`
	WSPort  uint32 `json:"ws_port"`
}

type DanmuInfo

type DanmuInfo struct {
	Token string      `json:"token"`
	Hosts []DanmuHost `json:"host_list"`
}

type DanmuInfoParams

type DanmuInfoParams struct {
	// contains filtered or unexported fields
}

DanmuInfoParams identifies a room and live danmaku connection type.

func NewDanmuInfoParams

func NewDanmuInfoParams(roomID ids.RoomID) DanmuInfoParams

func (DanmuInfoParams) EncodeQuery

func (p DanmuInfoParams) EncodeQuery() (url.Values, error)

func (DanmuInfoParams) WithType

func (p DanmuInfoParams) WithType(infoType uint8) DanmuInfoParams

type Emoticon

type Emoticon struct {
	BulgeDisplay    int32  `json:"bulge_display"`
	Description     string `json:"descript"`
	Emoji           string `json:"emoji"`
	ID              int64  `json:"emoticon_id"`
	Unique          string `json:"emoticon_unique"`
	ValueType       int32  `json:"emoticon_value_type"`
	Height          int32  `json:"height"`
	Identity        int32  `json:"identity"`
	InPlayerArea    int32  `json:"in_player_area"`
	IsDynamic       int32  `json:"is_dynamic"`
	Permission      int32  `json:"perm"`
	UnlockNeedGift  int32  `json:"unlock_need_gift"`
	UnlockNeedLevel int32  `json:"unlock_need_level"`
	UnlockShowColor string `json:"unlock_show_color"`
	UnlockShowImage string `json:"unlock_show_image"`
	UnlockShowText  string `json:"unlock_show_text"`
	URL             string `json:"url"`
	Width           int32  `json:"width"`
}

type EmoticonData

type EmoticonData struct {
	Packages    []EmoticonPackage `json:"data"`
	FansBrand   int32             `json:"fans_brand"`
	PurchaseURL *string           `json:"purchase_url"`
}

type EmoticonPackage

type EmoticonPackage struct {
	CurrentCover          string            `json:"current_cover"`
	Emoticons             []Emoticon        `json:"emoticons"`
	Description           string            `json:"pkg_descript"`
	ID                    int64             `json:"pkg_id"`
	Name                  string            `json:"pkg_name"`
	Permission            int32             `json:"pkg_perm"`
	Type                  int32             `json:"pkg_type"`
	RecentlyUsedEmoticons []json.RawMessage `json:"recently_used_emoticons"`
	TopShow               *TopShow          `json:"top_show"`
	TopShowRecent         *TopShow          `json:"top_show_recent"`
	UnlockIdentity        int32             `json:"unlock_identity"`
	UnlockNeedGift        int32             `json:"unlock_need_gift"`
}

type EmoticonsParams

type EmoticonsParams struct {
	// contains filtered or unexported fields
}

EmoticonsParams configures a room emoticon read. The platform defaults to "pc", matching the promoted web contract.

func NewEmoticonsParams

func NewEmoticonsParams(roomID ids.RoomID) EmoticonsParams

func (EmoticonsParams) EncodeQuery

func (p EmoticonsParams) EncodeQuery() (url.Values, error)

func (EmoticonsParams) WithPlatform

func (p EmoticonsParams) WithPlatform(platform string) (EmoticonsParams, error)

type FansMedal

type FansMedal struct {
	CanDelete        bool   `json:"can_deleted"`
	DayLimit         int32  `json:"day_limit"`
	GuardLevel       int32  `json:"guard_level"`
	GuardMedalTitle  string `json:"guard_medal_title"`
	Intimacy         int32  `json:"intimacy"`
	IsLighted        int32  `json:"is_lighted"`
	Level            int32  `json:"level"`
	MedalName        string `json:"medal_name"`
	MedalColorBorder int32  `json:"medal_color_border"`
	MedalColorStart  int32  `json:"medal_color_start"`
	MedalColorEnd    int32  `json:"medal_color_end"`
	MedalID          int64  `json:"medal_id"`
	NextIntimacy     int32  `json:"next_intimacy"`
	TodayFeed        int32  `json:"today_feed"`
	RoomID           int64  `json:"roomid"`
	Status           int32  `json:"status"`
	TargetID         int64  `json:"target_id"`
	TargetName       string `json:"target_name"`
	UserName         string `json:"uname"`
}

type FollowUpList

type FollowUpList struct {
	Title           string         `json:"title"`
	PageSize        int32          `json:"pageSize"`
	TotalPage       int32          `json:"totalPage"`
	List            []FollowUpLive `json:"list"`
	Count           int32          `json:"count"`
	NeverLivedCount int32          `json:"never_lived_count"`
	LiveCount       int32          `json:"live_count"`
	NeverLivedFaces []string       `json:"never_lived_faces"`
}

type FollowUpListParams

type FollowUpListParams struct {
	// contains filtered or unexported fields
}

FollowUpListParams configures the current account's followed-anchor list. Unset optional fields are omitted to preserve the Rust endpoint semantics.

func NewFollowUpListParams

func NewFollowUpListParams() FollowUpListParams

func (FollowUpListParams) EncodeQuery

func (p FollowUpListParams) EncodeQuery() (url.Values, error)

func (FollowUpListParams) WithHitAB

func (p FollowUpListParams) WithHitAB(hitAB bool) FollowUpListParams

func (FollowUpListParams) WithIgnoreRecord

func (p FollowUpListParams) WithIgnoreRecord(ignoreRecord uint8) (FollowUpListParams, error)

func (FollowUpListParams) WithPage

func (p FollowUpListParams) WithPage(page uint32) (FollowUpListParams, error)

func (FollowUpListParams) WithPageSize

func (p FollowUpListParams) WithPageSize(pageSize uint32) (FollowUpListParams, error)

type FollowUpLive

type FollowUpLive struct {
	RoomID         int64  `json:"roomid"`
	UID            int64  `json:"uid"`
	UserName       string `json:"uname"`
	Title          string `json:"title"`
	Face           string `json:"face"`
	LiveStatus     int32  `json:"live_status"`
	RecordLiveTime int64  `json:"record_live_time"`
	AreaNameV2     string `json:"area_name_v2"`
	RoomNews       string `json:"room_news"`
	TextSmall      string `json:"text_small"`
	RoomCover      string `json:"room_cover"`
	ParentAreaID   int32  `json:"parent_area_id"`
	AreaID         int32  `json:"area_id"`
}

type FollowUpWebList

type FollowUpWebList struct {
	Rooms        []FollowedRoom `json:"rooms"`
	List         []FollowedRoom `json:"list"`
	Count        int32          `json:"count"`
	NotLivingNum int32          `json:"not_living_num"`
}

type FollowUpWebListParams

type FollowUpWebListParams struct {
	// contains filtered or unexported fields
}

FollowUpWebListParams configures the current live followed-anchor list.

func NewFollowUpWebListParams

func NewFollowUpWebListParams() FollowUpWebListParams

func (FollowUpWebListParams) EncodeQuery

func (p FollowUpWebListParams) EncodeQuery() (url.Values, error)

func (FollowUpWebListParams) WithHitAB

type FollowedRoom

type FollowedRoom struct {
	Title            string `json:"title"`
	RoomID           int64  `json:"room_id"`
	UID              int64  `json:"uid"`
	Online           int32  `json:"online"`
	LiveTime         int64  `json:"live_time"`
	LiveStatus       int32  `json:"live_status"`
	ShortID          int32  `json:"short_id"`
	Area             int32  `json:"area"`
	AreaName         string `json:"area_name"`
	AreaV2ID         int32  `json:"area_v2_id"`
	AreaV2Name       string `json:"area_v2_name"`
	AreaV2ParentName string `json:"area_v2_parent_name"`
	AreaV2ParentID   int32  `json:"area_v2_parent_id"`
	UserName         string `json:"uname"`
	Face             string `json:"face"`
	TagName          string `json:"tag_name"`
	Tags             string `json:"tags"`
	UserCover        string `json:"cover_from_user"`
	Keyframe         string `json:"keyframe"`
	LockTill         string `json:"lock_till"`
	HiddenTill       string `json:"hidden_till"`
	BroadcastType    int32  `json:"broadcast_type"`
	IsEncrypted      bool   `json:"is_encrypt"`
	Link             string `json:"link"`
	Nickname         string `json:"nickname"`
	RoomName         string `json:"roomname"`
	LegacyRoomID     int64  `json:"roomid"`
}

type GiftBaseConfig

type GiftBaseConfig struct {
	BaseConfig GiftConfig `json:"base_config"`
}

type GiftConfig

type GiftConfig struct {
	List []GiftItem `json:"list"`
}

type GiftItem

type GiftItem struct {
	ID                int64  `json:"id"`
	Name              string `json:"name"`
	Price             int64  `json:"price"`
	Type              int32  `json:"type"`
	CoinType          string `json:"coin_type"`
	Effect            int32  `json:"effect"`
	StayTime          int32  `json:"stay_time"`
	AnimationFrameNum int32  `json:"animation_frame_num"`
	Description       string `json:"desc"`
	BasicImage        string `json:"img_basic"`
	GIF               string `json:"gif"`
}

type GiftType

type GiftType struct {
	GiftID   int64  `json:"gift_id"`
	GiftName string `json:"gift_name"`
	Price    int64  `json:"price"`
}

type GuardList

type GuardList struct {
	Info GuardListInfo `json:"info"`
	Top3 []GuardMember `json:"top3"`
	List []GuardMember `json:"list"`
}

type GuardListInfo

type GuardListInfo struct {
	Number                 int32    `json:"num"`
	PageCount              int32    `json:"page"`
	CurrentPage            int32    `json:"now"`
	AchievementLevel       int32    `json:"achievement_level"`
	AnchorAchievementLevel int32    `json:"anchor_guard_achieve_level"`
	AchievementIcon        string   `json:"achievement_icon_src"`
	BuyGuardIcon           string   `json:"buy_guard_icon_src"`
	RuleDocument           string   `json:"rule_doc_src"`
	Background             string   `json:"ex_background_src"`
	ColorStart             string   `json:"color_start"`
	ColorEnd               string   `json:"color_end"`
	TabColors              []string `json:"tab_color"`
	TitleColors            []string `json:"title_color"`
}

type GuardListParams

type GuardListParams struct {
	// contains filtered or unexported fields
}

GuardListParams configures a room's public guard-member list.

func NewGuardListParams

func NewGuardListParams(roomID ids.RoomID, anchorID ids.MID) GuardListParams

func (GuardListParams) EncodeQuery

func (p GuardListParams) EncodeQuery() (url.Values, error)

func (GuardListParams) WithPage

func (p GuardListParams) WithPage(page uint32) (GuardListParams, error)

func (GuardListParams) WithPageSize

func (p GuardListParams) WithPageSize(pageSize uint32) (GuardListParams, error)

func (GuardListParams) WithType

func (p GuardListParams) WithType(typeID uint32) (GuardListParams, error)

type GuardMember

type GuardMember struct {
	AnchorUID     int64     `json:"ruid"`
	Rank          int32     `json:"rank"`
	AccompanyDays int32     `json:"accompany"`
	User          GuardUser `json:"uinfo"`
	Score         int32     `json:"score"`
}

type GuardUser

type GuardUser struct {
	UID         int64           `json:"uid"`
	Base        GuardUserBase   `json:"base"`
	Medal       GuardUserMedal  `json:"medal"`
	Wealth      json.RawMessage `json:"wealth"`
	Title       json.RawMessage `json:"title"`
	Guard       GuardUserGuard  `json:"guard"`
	HeadFrame   json.RawMessage `json:"uhead_frame"`
	GuardLeader json.RawMessage `json:"guard_leader"`
}

type GuardUserBase

type GuardUserBase struct {
	Name          string            `json:"name"`
	Face          string            `json:"face"`
	NameColor     int32             `json:"name_color"`
	IsMystery     bool              `json:"is_mystery"`
	RiskControl   json.RawMessage   `json:"risk_ctrl_info"`
	OriginInfo    GuardUserOrigin   `json:"origin_info"`
	OfficialInfo  GuardUserOfficial `json:"official_info"`
	NameColorText string            `json:"name_color_str"`
}

type GuardUserGuard

type GuardUserGuard struct {
	Level       int32  `json:"level"`
	ExpiredText string `json:"expired_str"`
}

type GuardUserMedal

type GuardUserMedal struct {
	Name             string `json:"name"`
	Level            int32  `json:"level"`
	ColorStart       int32  `json:"color_start"`
	ColorEnd         int32  `json:"color_end"`
	ColorBorder      int32  `json:"color_border"`
	Color            int32  `json:"color"`
	ID               int32  `json:"id"`
	Type             int32  `json:"typ"`
	IsLight          int32  `json:"is_light"`
	AnchorUID        int64  `json:"ruid"`
	GuardLevel       int32  `json:"guard_level"`
	Score            int32  `json:"score"`
	GuardIcon        string `json:"guard_icon"`
	HonorIcon        string `json:"honor_icon"`
	V2ColorStart     string `json:"v2_medal_color_start"`
	V2ColorEnd       string `json:"v2_medal_color_end"`
	V2ColorBorder    string `json:"v2_medal_color_border"`
	V2ColorText      string `json:"v2_medal_color_text"`
	V2ColorLevel     string `json:"v2_medal_color_level"`
	UserReceiveCount int32  `json:"user_receive_count"`
}

type GuardUserOfficial

type GuardUserOfficial struct {
	Role        int32  `json:"role"`
	Title       string `json:"title"`
	Description string `json:"desc"`
	Type        int32  `json:"type"`
}

type GuardUserOrigin

type GuardUserOrigin struct {
	Name string `json:"name"`
	Face string `json:"face"`
}

type HeartBeat

type HeartBeat struct {
	NextInterval int32 `json:"next_interval"`
}

type LotteryInfo

type LotteryInfo struct {
	PopularityRedPocket []PopularityRedPocket      `json:"popularity_red_pocket"`
	ActivityBoxInfo     *ActivityBoxInfo           `json:"activity_box_info"`
	Extra               map[string]json.RawMessage `json:"-"`
}

LotteryInfo keeps documented fields typed and preserves only the explicitly unstable lottery sections in Extra.

func (*LotteryInfo) UnmarshalJSON

func (l *LotteryInfo) UnmarshalJSON(data []byte) error

type LotteryInfoParams

type LotteryInfoParams struct {
	// contains filtered or unexported fields
}

LotteryInfoParams identifies a live room whose lottery state is requested.

func NewLotteryInfoParams

func NewLotteryInfoParams(roomID ids.RoomID) LotteryInfoParams

func (LotteryInfoParams) EncodeQuery

func (p LotteryInfoParams) EncodeQuery() (url.Values, error)

type MedalPageInfo

type MedalPageInfo struct {
	TotalPage   int32 `json:"total_page"`
	CurrentPage int32 `json:"cur_page"`
}

type MyMedals

type MyMedals struct {
	Count    int32         `json:"count"`
	Items    []FansMedal   `json:"items"`
	PageInfo MedalPageInfo `json:"page_info"`
}

type MyMedalsParams

type MyMedalsParams struct {
	// contains filtered or unexported fields
}

MyMedalsParams configures pagination for the current account's fan medals.

func NewMyMedalsParams

func NewMyMedalsParams() MyMedalsParams

func (MyMedalsParams) EncodeQuery

func (p MyMedalsParams) EncodeQuery() (url.Values, error)

func (MyMedalsParams) WithPage

func (p MyMedalsParams) WithPage(page uint32) (MyMedalsParams, error)

func (MyMedalsParams) WithPageSize

func (p MyMedalsParams) WithPageSize(pageSize uint32) (MyMedalsParams, error)

type ParentArea

type ParentArea struct {
	ID   int32     `json:"id"`
	Name string    `json:"name"`
	List []SubArea `json:"list"`
}

type PopularityRedPocket

type PopularityRedPocket struct {
	LotteryID       int64            `json:"lot_id"`
	SenderUID       int64            `json:"sender_uid"`
	SenderName      string           `json:"sender_name"`
	SenderFace      string           `json:"sender_face"`
	JoinRequirement int32            `json:"join_requirement"`
	Danmu           string           `json:"danmu"`
	Awards          []RedPocketAward `json:"awards"`
	StartTime       int64            `json:"start_time"`
	EndTime         int64            `json:"end_time"`
	LastTime        int64            `json:"last_time"`
	RemoveTime      int64            `json:"remove_time"`
	ReplaceTime     int64            `json:"replace_time"`
	CurrentTime     int64            `json:"current_time"`
	LotteryStatus   int32            `json:"lot_status"`
	H5URL           string           `json:"h5_url"`
	UserStatus      int32            `json:"user_status"`
	LotteryConfigID int64            `json:"lot_config_id"`
	TotalPrice      int64            `json:"total_price"`
}

type QualityDescription

type QualityDescription struct {
	QN          int32  `json:"qn"`
	Description string `json:"desc"`
}

type Recommend

type Recommend struct {
	Rooms     []RecommendRoom `json:"recommend_room_list"`
	TopRoomID int64           `json:"top_room_id"`
}

type RecommendRoom

type RecommendRoom struct {
	HeadBox              json.RawMessage `json:"head_box"`
	AreaV2ID             int32           `json:"area_v2_id"`
	AreaV2ParentID       int32           `json:"area_v2_parent_id"`
	AreaV2Name           string          `json:"area_v2_name"`
	AreaV2ParentName     string          `json:"area_v2_parent_name"`
	BroadcastType        int32           `json:"broadcast_type"`
	Cover                string          `json:"cover"`
	Link                 string          `json:"link"`
	Online               int32           `json:"online"`
	PendantInfo          json.RawMessage `json:"pendant_Info"`
	RoomID               int64           `json:"roomid"`
	Title                string          `json:"title"`
	UserName             string          `json:"uname"`
	Face                 string          `json:"face"`
	Verify               json.RawMessage `json:"verify"`
	UID                  int64           `json:"uid"`
	Keyframe             string          `json:"keyframe"`
	IsAutoPlay           int32           `json:"is_auto_play"`
	HeadBoxType          int32           `json:"head_box_type"`
	Flag                 int32           `json:"flag"`
	SessionID            string          `json:"session_id"`
	ShowCallback         string          `json:"show_callback"`
	ClickCallback        string          `json:"click_callback"`
	SpecialID            int32           `json:"special_id"`
	WatchedShow          WatchedShow     `json:"watched_show"`
	IsNFT                int32           `json:"is_nft"`
	NFTMark              string          `json:"nft_dmark"`
	IsAd                 bool            `json:"is_ad"`
	AdTransparentContent json.RawMessage `json:"ad_transparent_content"`
	ShowAdIcon           bool            `json:"show_ad_icon"`
	Status               bool            `json:"status"`
	Followers            int32           `json:"followers"`
}

type RedPocketAward

type RedPocketAward struct {
	GiftID      int64  `json:"gift_id"`
	Number      int32  `json:"num"`
	GiftName    string `json:"gift_name"`
	GiftPicture string `json:"gift_pic"`
}

type Replay

type Replay struct {
	ReplayID  int64           `json:"replay_id"`
	LiveInfo  ReplayLiveInfo  `json:"live_info"`
	VideoInfo ReplayVideoInfo `json:"video_info"`
	AlarmInfo ReplayAlarmInfo `json:"alarm_info"`
	RoomID    int64           `json:"room_id"`
	LiveKey   string          `json:"live_key"`
	StartTime int64           `json:"start_time"`
	EndTime   int64           `json:"end_time"`
}

type ReplayAlarmInfo

type ReplayAlarmInfo struct {
	Code         int32  `json:"code"`
	Message      string `json:"message"`
	CurrentTime  int64  `json:"cur_time"`
	IsBanPublish bool   `json:"is_ban_publish"`
}

type ReplayList

type ReplayList struct {
	ReplayInfo []Replay         `json:"replay_info"`
	Pagination ReplayPagination `json:"pagination"`
}

type ReplayListParams

type ReplayListParams struct {
	// contains filtered or unexported fields
}

ReplayListParams configures pagination for the current account's replays.

func NewReplayListParams

func NewReplayListParams() ReplayListParams

func (ReplayListParams) EncodeQuery

func (p ReplayListParams) EncodeQuery() (url.Values, error)

func (ReplayListParams) WithPage

func (p ReplayListParams) WithPage(page uint32) (ReplayListParams, error)

func (ReplayListParams) WithPageSize

func (p ReplayListParams) WithPageSize(pageSize uint32) (ReplayListParams, error)

type ReplayLiveInfo

type ReplayLiveInfo struct {
	Title    string `json:"title"`
	Cover    string `json:"cover"`
	LiveTime int64  `json:"live_time"`
	LiveType int32  `json:"live_type"`
}

type ReplayPagination

type ReplayPagination struct {
	Page     int32  `json:"page"`
	PageSize int32  `json:"page_size"`
	Total    *int32 `json:"total"`
}

type ReplayVideoInfo

type ReplayVideoInfo struct {
	ReplayStatus  int32   `json:"replay_status"`
	EstimatedTime string  `json:"estimated_time"`
	Duration      int32   `json:"duration"`
	DownloadURL   *string `json:"download_url"`
	AlertCode     *int32  `json:"alert_code"`
	AlertMessage  *string `json:"alert_message"`
}

type RoomGiftList

type RoomGiftList struct {
	GiftConfig   *GiftBaseConfig `json:"gift_config"`
	GiftData     json.RawMessage `json:"gift_data"`
	GlobalConfig json.RawMessage `json:"global_config"`
}

type RoomGiftListParams

type RoomGiftListParams struct {
	// contains filtered or unexported fields
}

RoomGiftListParams configures a room gift-panel read.

func NewRoomGiftListParams

func NewRoomGiftListParams(roomID ids.RoomID) RoomGiftListParams

func (RoomGiftListParams) EncodeQuery

func (p RoomGiftListParams) EncodeQuery() (url.Values, error)

func (RoomGiftListParams) WithAreaID

func (p RoomGiftListParams) WithAreaID(areaID uint32) (RoomGiftListParams, error)

func (RoomGiftListParams) WithAreaParentID

func (p RoomGiftListParams) WithAreaParentID(areaParentID uint32) (RoomGiftListParams, error)

type RoomInfo

type RoomInfo struct {
	UID                  int64           `json:"uid"`
	RoomID               int64           `json:"room_id"`
	ShortID              int64           `json:"short_id"`
	Attention            int64           `json:"attention"`
	Online               int64           `json:"online"`
	IsPortrait           bool            `json:"is_portrait"`
	Description          string          `json:"description"`
	LiveStatus           int32           `json:"live_status"`
	AreaID               int32           `json:"area_id"`
	ParentAreaID         int32           `json:"parent_area_id"`
	ParentAreaName       string          `json:"parent_area_name"`
	OldAreaID            int32           `json:"old_area_id"`
	Background           string          `json:"background"`
	Title                string          `json:"title"`
	UserCover            string          `json:"user_cover"`
	Keyframe             string          `json:"keyframe"`
	LiveTime             string          `json:"live_time"`
	Tags                 string          `json:"tags"`
	RoomSilentType       string          `json:"room_silent_type"`
	RoomSilentLevel      int32           `json:"room_silent_level"`
	RoomSilentSecond     int64           `json:"room_silent_second"`
	AreaName             string          `json:"area_name"`
	HotWords             []string        `json:"hot_words"`
	HotWordsStatus       int32           `json:"hot_words_status"`
	NewPendants          RoomPendants    `json:"new_pendants"`
	PKStatus             int32           `json:"pk_status"`
	PKID                 int64           `json:"pk_id"`
	AllowChangeAreaTime  int64           `json:"allow_change_area_time"`
	AllowUploadCoverTime int64           `json:"allow_upload_cover_time"`
	StudioInfo           *RoomStudioInfo `json:"studio_info"`
}

type RoomInfoParams

type RoomInfoParams struct {
	// contains filtered or unexported fields
}

RoomInfoParams identifies a live room whose public metadata is requested.

func NewRoomInfoParams

func NewRoomInfoParams(roomID ids.RoomID) RoomInfoParams

func (RoomInfoParams) EncodeQuery

func (p RoomInfoParams) EncodeQuery() (url.Values, error)

type RoomPendantBadge

type RoomPendantBadge struct {
	Name        string `json:"name"`
	Position    int32  `json:"position"`
	Value       string `json:"value"`
	Description string `json:"desc"`
}

type RoomPendantFrame

type RoomPendantFrame struct {
	Name              string `json:"name"`
	Value             string `json:"value"`
	Position          int32  `json:"position"`
	Description       string `json:"desc"`
	Area              int32  `json:"area"`
	OldArea           int32  `json:"area_old"`
	BackgroundColor   string `json:"bg_color"`
	BackgroundPicture string `json:"bg_pic"`
	UseOldArea        bool   `json:"use_old_area"`
}

type RoomPendants

type RoomPendants struct {
	Frame       RoomPendantFrame  `json:"frame"`
	MobileFrame *RoomPendantFrame `json:"mobile_frame"`
	Badge       *RoomPendantBadge `json:"badge"`
	MobileBadge *RoomPendantBadge `json:"mobile_badge"`
}

type RoomStudioInfo

type RoomStudioInfo map[string]json.RawMessage

RoomStudioInfo is intentionally open because the upstream field is not documented and has no stable promoted shape.

type ShieldKeyword

type ShieldKeyword struct {
	Keyword  string `json:"keyword"`
	UID      int64  `json:"uid"`
	Name     string `json:"name"`
	IsAnchor int8   `json:"is_anchor"`
}

type ShieldKeywords

type ShieldKeywords struct {
	Keywords []ShieldKeyword `json:"keyword_list"`
	MaxLimit int32           `json:"max_limit"`
}

type ShieldKeywordsParams

type ShieldKeywordsParams struct {
	// contains filtered or unexported fields
}

ShieldKeywordsParams identifies a room's private keyword list.

func NewShieldKeywordsParams

func NewShieldKeywordsParams(roomID ids.RoomID) ShieldKeywordsParams

func (ShieldKeywordsParams) EncodeForm

func (p ShieldKeywordsParams) EncodeForm(csrf string) (url.Values, error)

func (ShieldKeywordsParams) Referer

func (p ShieldKeywordsParams) Referer() (string, error)

type SilentUser

type SilentUser struct {
	TargetUID    int64  `json:"tuid"`
	TargetName   string `json:"tname"`
	OperatorUID  int64  `json:"uid"`
	OperatorName string `json:"name"`
	CreatedAt    string `json:"ctime"`
	ID           int64  `json:"id"`
	IsAnchor     int8   `json:"is_anchor"`
	Face         string `json:"face"`
	Message      string `json:"msg"`
	AdminLevel   int8   `json:"admin_level"`
	IsMystery    bool   `json:"is_mystery"`
	BlockEndTime string `json:"block_end_time"`
	Type         int8   `json:"type"`
}

type SilentUsers

type SilentUsers struct {
	Data      []SilentUser `json:"data"`
	Total     int32        `json:"total"`
	TotalPage int32        `json:"total_page"`
	Page      int32        `json:"pn"`
	PageSize  int32        `json:"ps"`
}

type SilentUsersParams

type SilentUsersParams struct {
	// contains filtered or unexported fields
}

SilentUsersParams configures a room moderation-list read.

func NewSilentUsersParams

func NewSilentUsersParams(roomID ids.RoomID) SilentUsersParams

func (SilentUsersParams) EncodeForm

func (p SilentUsersParams) EncodeForm(csrf string) (url.Values, error)

func (SilentUsersParams) Referer

func (p SilentUsersParams) Referer() (string, error)

func (SilentUsersParams) WithPage

func (p SilentUsersParams) WithPage(page uint32) (SilentUsersParams, error)

func (SilentUsersParams) WithPageSize

func (p SilentUsersParams) WithPageSize(pageSize uint32) (SilentUsersParams, error)

type Stream

type Stream struct {
	CurrentQuality     int32                `json:"current_quality"`
	AcceptQuality      []string             `json:"accept_quality"`
	CurrentQN          int32                `json:"current_qn"`
	QualityDescription []QualityDescription `json:"quality_description"`
	URLs               []StreamURL          `json:"durl"`
}

type StreamParams

type StreamParams struct {
	// contains filtered or unexported fields
}

StreamParams configures the legacy live stream URL read.

func NewStreamParams

func NewStreamParams(roomID ids.RoomID) StreamParams

func (StreamParams) EncodeQuery

func (p StreamParams) EncodeQuery() (url.Values, error)

func (StreamParams) WithPlatform

func (p StreamParams) WithPlatform(platform string) (StreamParams, error)

func (StreamParams) WithQN

func (p StreamParams) WithQN(qn uint32) (StreamParams, error)

func (StreamParams) WithQuality

func (p StreamParams) WithQuality(quality uint32) (StreamParams, error)

type StreamURL

type StreamURL struct {
	URL        string `json:"url"`
	Order      int32  `json:"order"`
	StreamType int32  `json:"stream_type"`
	P2PType    int32  `json:"p2p_type"`
}

type SubArea

type SubArea struct {
	ID         string `json:"id"`
	ParentID   string `json:"parent_id"`
	OldAreaID  string `json:"old_area_id"`
	Name       string `json:"name"`
	ActivityID string `json:"act_id"`
	PKStatus   string `json:"pk_status"`
	HotStatus  int32  `json:"hot_status"`
	LockStatus string `json:"lock_status"`
	Picture    string `json:"pic"`
	ParentName string `json:"parent_name"`
	AreaType   int32  `json:"area_type"`
}

type TopShow

type TopShow struct {
	TopLeft  TopShowItem `json:"top_left"`
	TopRight TopShowItem `json:"top_right"`
}

type TopShowItem

type TopShowItem struct {
	Image string `json:"image"`
	Text  string `json:"text"`
}

type Version

type Version struct {
	CurrentVersion   string `json:"curr_version"`
	Build            uint64 `json:"build"`
	Instruction      string `json:"instruction"`
	FileSize         string `json:"file_size"`
	FileMD5          string `json:"file_md5"`
	Content          string `json:"content"`
	DownloadURL      string `json:"download_url"`
	HDiffPatchSwitch uint8  `json:"hdiffpatch_switch"`
}

type WatchedShow

type WatchedShow struct {
	Switch       bool   `json:"switch"`
	Number       int32  `json:"num"`
	TextSmall    string `json:"text_small"`
	TextLarge    string `json:"text_large"`
	Icon         string `json:"icon"`
	IconLocation int32  `json:"icon_location"`
	IconWeb      string `json:"icon_web"`
}

type WebHeartBeatParams

type WebHeartBeatParams struct {
	// contains filtered or unexported fields
}

WebHeartBeatParams configures the public live telemetry heartbeat.

func NewWebHeartBeatParams

func NewWebHeartBeatParams(roomID ids.RoomID) WebHeartBeatParams

func (WebHeartBeatParams) EncodeQuery

func (p WebHeartBeatParams) EncodeQuery() (url.Values, error)

func (WebHeartBeatParams) WithNextInterval

func (p WebHeartBeatParams) WithNextInterval(nextInterval uint32) (WebHeartBeatParams, error)

func (WebHeartBeatParams) WithPlatform

func (p WebHeartBeatParams) WithPlatform(platform string) (WebHeartBeatParams, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL