From 8aeff935269645532fdf1b5bd8926162b6f60e6a Mon Sep 17 00:00:00 2001 From: nite Date: Sat, 5 Apr 2025 01:14:12 +1100 Subject: [PATCH] fix --- .gitignore | 2 ++ README.md | 14 ++++++++++++++ game.go | 6 +++--- igdb.go | 6 ++++-- 4 files changed, 23 insertions(+), 5 deletions(-) create mode 100644 .gitignore create mode 100644 README.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..70ca8c0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +*test.go +test/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..8629aca --- /dev/null +++ b/README.md @@ -0,0 +1,14 @@ +# go-igdb + +a go library to access IGDB API + +## Usage + +```go +g := igdb.New("clientID", "clientSecret") +game, err := g.GetGame(325594) +if err != nil { + log.Fatal(err) +} +fmt.Println(game.Name) +``` diff --git a/game.go b/game.go index 1ab26ee..1858ef0 100644 --- a/game.go +++ b/game.go @@ -14,16 +14,16 @@ import ( func (g *igdb) GetGame(id uint64) (*pb.Game, error) { resp, err := g.Request(constant.IGDBGameURL, fmt.Sprintf(`where id = %v; fields *, age_ratings.*, alternative_names.*, artworks.*, collection.*, cover.*, external_games.*, external_games.platform.* , franchise.*, game_engines.*, game_engines.logo.*, game_engines.companies.* , game_modes.*, genres.*, involved_companies.*, involved_companies.company.* , keywords.*, multiplayer_modes.*, multiplayer_modes.platform.*, platforms.*, platforms.platform_logo.*, platforms.platform_family.*, platforms.versions.*, platforms.websites.* , player_perspectives.*, release_dates.*, release_dates.platform.*, release_dates.status.* , screenshots.*, themes.*, videos.*, websites.*, language_supports.*, language_supports.language.*, language_supports.language_support_type.* , game_localizations.*, game_localizations.region.* , collections.*, collections.type.*, collections.as_parent_relations.child_collection.*, collections.as_parent_relations.parent_collection.*, collections.as_parent_relations.type.*,collections.as_child_relations.child_collection.*, collections.as_child_relations.parent_collection.*, collections.as_child_relations.type.*, age_ratings.content_descriptions.*, cover.game_localization.*;`, id)) if err != nil { - return nil, fmt.Errorf("failed to fetch IGDB game detail for ID %d: %w", id, err) + return nil, fmt.Errorf("failed to fetch game detail for ID %d: %w", id, err) } res := pb.GameResult{} if err = proto.Unmarshal(resp.Body(), &res); err != nil { - return nil, fmt.Errorf("failed to unmarshal IGDB game detail response: %w", err) + return nil, fmt.Errorf("failed to unmarshal game detail response: %w", err) } if len(res.Games) == 0 { - return nil, fmt.Errorf("failed to fetch IGDB game detail for ID %d", id) + return nil, fmt.Errorf("failed to fetch game detail for ID %d", id) } if res.Games[0].Name == "" { diff --git a/igdb.go b/igdb.go index 0bb7daf..c7ae6cc 100644 --- a/igdb.go +++ b/igdb.go @@ -13,15 +13,17 @@ type igdb struct { flaresolverr *flaresolverr.Flaresolverr } -func NewIGDB(clientID, clientSecret string) *igdb { +func New(clientID, clientSecret string) *igdb { return &igdb{ + clientID: clientID, token: NewTwitchToken(clientID, clientSecret), flaresolverr: nil, } } -func NewIGDBWithFlaresolverr(clientID, clientSecret string, f *flaresolverr.Flaresolverr) *igdb { +func NewWithFlaresolverr(clientID, clientSecret string, f *flaresolverr.Flaresolverr) *igdb { return &igdb{ + clientID: clientID, token: NewTwitchToken(clientID, clientSecret), flaresolverr: f, }