mirror of
https://github.com/bestnite/go-igdb.git
synced 2025-04-19 23:35:54 +08:00
fix
This commit is contained in:
parent
16eb5dc654
commit
8aeff93526
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
*test.go
|
||||
test/
|
14
README.md
Normal file
14
README.md
Normal file
@ -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)
|
||||
```
|
6
game.go
6
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 == "" {
|
||||
|
6
igdb.go
6
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,
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user