twitchgraphapi

package module
v1.0.6 Latest Latest
Warning

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

Go to latest
Published: Jan 17, 2024 License: MIT Imports: 4 Imported by: 0

README

twitch-graphapi

Wrapper for twitch graphapi

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Extensions added in v1.0.5

type Extensions struct {
	PersistedQuery `json:"persistedQuery"`
}

type Operation added in v1.0.5

type Operation struct {
	OperationName string `json:"operationName"`
	Variables     struct {
		ChannelLogin string `json:"channelLogin"`
		VideoID      string `json:"videoID"`
	} `json:"variables"`
	Extensions `json:"extensions"`
}

type PersistedQuery added in v1.0.5

type PersistedQuery struct {
	Version    int    `json:"version"`
	Sha256Hash string `json:"sha256Hash"`
}

type Scrapper

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

func New

func New() *Scrapper

func (*Scrapper) GetUserCategories added in v1.0.6

func (s *Scrapper) GetUserCategories(username string) (UsersCategories, error)

func (*Scrapper) GetUserData

func (s *Scrapper) GetUserData(username string) ([]UsersInfo, error)

func (*Scrapper) GetVideoMetadata added in v1.0.5

func (s *Scrapper) GetVideoMetadata(username string, videoIds []string) ([]VideoMetadata, error)

func (*Scrapper) SetClientId

func (s *Scrapper) SetClientId(clientId string) *Scrapper

type UsersCategories added in v1.0.6

type UsersCategories struct {
	Data struct {
		User struct {
			Id              string `json:"id"`
			PrimaryColorHex string `json:"primaryColorHex"`
			Channel         struct {
				Id   string `json:"id"`
				Home struct {
					Shelves struct {
						CategoryShelf struct {
							Edges []struct {
								Node struct {
									Id           string `json:"id"`
									BoxArtURL    string `json:"boxArtURL"`
									DisplayName  string `json:"displayName"`
									Name         string `json:"name"`
									ViewersCount int    `json:"viewersCount"`
									Typename     string `json:"__typename"`
								} `json:"node"`
								Typename string `json:"__typename"`
							} `json:"edges"`
							Typename string `json:"__typename"`
						} `json:"categoryShelf"`
						Typename string `json:"__typename"`
					} `json:"shelves"`
					Typename string `json:"__typename"`
				} `json:"home"`
				Typename string `json:"__typename"`
			} `json:"channel"`
			Typename string `json:"__typename"`
		} `json:"user"`
	} `json:"data"`
	Extensions struct {
		DurationMilliseconds int    `json:"durationMilliseconds"`
		OperationName        string `json:"operationName"`
		RequestID            string `json:"requestID"`
	} `json:"extensions"`
}

type UsersInfo

type UsersInfo struct {
	Data struct {
		CurrentUser interface{} `json:"currentUser"`
		User        struct {
			Id              string      `json:"id"`
			Description     string      `json:"description"`
			DisplayName     string      `json:"displayName"`
			IsPartner       interface{} `json:"isPartner"`
			PrimaryColorHex interface{} `json:"primaryColorHex"`
			ProfileImageURL string      `json:"profileImageURL"`
			Followers       struct {
				TotalCount int    `json:"totalCount"`
				Typename   string `json:"__typename"`
			} `json:"followers"`
			Channel struct {
				Id           string `json:"id"`
				SocialMedias []struct {
					Id       string `json:"id"`
					Name     string `json:"name"`
					Title    string `json:"title"`
					Url      string `json:"url"`
					Typename string `json:"__typename"`
				} `json:"socialMedias"`
				Typename string `json:"__typename"`
			} `json:"channel"`
			LastBroadcast struct {
				Id   string `json:"id"`
				Game struct {
					Id          string `json:"id"`
					DisplayName string `json:"displayName"`
					Typename    string `json:"__typename"`
				} `json:"game"`
				Typename string `json:"__typename"`
			} `json:"lastBroadcast"`
			PrimaryTeam interface{} `json:"primaryTeam"`
			Videos      struct {
				Edges []struct {
					Node struct {
						Id   string `json:"id"`
						Game struct {
							Id          string `json:"id"`
							DisplayName string `json:"displayName"`
							Typename    string `json:"__typename"`
						} `json:"game"`
						Status   string `json:"status"`
						Typename string `json:"__typename"`
					} `json:"node"`
					Typename string `json:"__typename"`
				} `json:"edges"`
				Typename string `json:"__typename"`
			} `json:"videos"`
			Typename string `json:"__typename"`
		} `json:"user"`
	} `json:"data"`
	Extensions struct {
		DurationMilliseconds int    `json:"durationMilliseconds"`
		OperationName        string `json:"operationName"`
		RequestID            string `json:"requestID"`
	} `json:"extensions"`
}

type VideoMetadata added in v1.0.5

type VideoMetadata struct {
	Data struct {
		User struct {
			Id              string      `json:"id"`
			PrimaryColorHex string      `json:"primaryColorHex"`
			IsPartner       interface{} `json:"isPartner"`
			ProfileImageURL string      `json:"profileImageURL"`
			LastBroadcast   struct {
				Id        string    `json:"id"`
				StartedAt time.Time `json:"startedAt"`
				Typename  string    `json:"__typename"`
			} `json:"lastBroadcast"`
			Typename string `json:"__typename"`
		} `json:"user"`
		CurrentUser struct {
			Id       string `json:"id"`
			Typename string `json:"__typename"`
		} `json:"currentUser"`
		Video struct {
			Id                  string      `json:"id"`
			Title               string      `json:"title"`
			Description         interface{} `json:"description"`
			PreviewThumbnailURL string      `json:"previewThumbnailURL"`
			CreatedAt           time.Time   `json:"createdAt"`
			ViewCount           int         `json:"viewCount"`
			PublishedAt         time.Time   `json:"publishedAt"`
			LengthSeconds       int         `json:"lengthSeconds"`
			BroadcastType       string      `json:"broadcastType"`
			Owner               struct {
				Id          string `json:"id"`
				Login       string `json:"login"`
				DisplayName string `json:"displayName"`
				Typename    string `json:"__typename"`
			} `json:"owner"`
			Game struct {
				Id          string `json:"id"`
				Slug        string `json:"slug"`
				BoxArtURL   string `json:"boxArtURL"`
				Name        string `json:"name"`
				DisplayName string `json:"displayName"`
				Typename    string `json:"__typename"`
			} `json:"game"`
			Typename string `json:"__typename"`
		} `json:"video"`
	} `json:"data"`
	Extensions struct {
		DurationMilliseconds int    `json:"durationMilliseconds"`
		OperationName        string `json:"operationName"`
		RequestID            string `json:"requestID"`
	} `json:"extensions"`
}

Jump to

Keyboard shortcuts

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