tfd

package module
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Jul 22, 2024 License: MIT Imports: 8 Imported by: 0

README

The First Descendant Go Client

Go Version GoDoc License

Overview

go-tfd-client is a Go client library for interacting with "The First Descendant" game API. This client wraps all the API endpoints listed in the NEXON Open API documentation, providing an easy-to-use interface for Go developers to integrate with the game's services.

Features

  • Full coverage of all API endpoints.
  • Easy-to-use and idiomatic Go interface.
  • Support for authentication and authorization.

Installation

To install the library, use the following command:

go get github.com/DevZoneLabs/go-tfd-client

Usage

Here is a basic example of how to use the client:

package main

import (
    "fmt"
    "log"

    tfd "github.com/DevZoneLabs/go-tfd-client"
)

func main() {

    client := tfd.NewClient("YOUR_API_KEY", nil)

    // Example: Get AccountIdentifier
    accIdentifier, err := client.GetAccountIdentifier("PLAYER_ID")
    if err != nil {
        log.Fatal("Error fetching player profile: %v", err)
    }

    fmt.Printf("AccountIdentifier: %s\v", accIdentifier.OOUID)
}

Documentation

Full documentation is available on GoDocs

API Coverage

The client covers the following API endpoints:

Users
  • GetAccountIdentifier(userName string) (*models.AccountIdentifier, error)

  • GetBasicInformation(ouid string) (*models.UserBasic, error)

  • GetUserDescendant(ouid string) (*models.UserDescendant, error)

  • GetUserWeapons(ouid string, language LanguageCode) (*models.UserWeapon, error)

  • GetUserReactor(ouid string, language LanguageCode) (*models.UserReactor, error)

  • GetExternalComponent(ouid string, language LanguageCode) (*models.UserExternalComponent, error)

Metadata
  • GetDescendantsMetadata(language LanguageCode) ([]models.Descendant, error)

  • GetWeaponsMetadata(language LanguageCode) ([]models.Weapon, error)

  • GetModulesMetadata(language LanguageCode) ([]models.Module, error)

  • GetReactorsMetadata(language LanguageCode) ([]models.Reactor, error)

  • GetExternalComponentsMetadata(language LanguageCode) ([]models.ExternalComponent, error)

  • GetRewardsMetadata(language LanguageCode) ([]models.Reward, error)

  • GetStatsMetadata(language LanguageCode) ([]models.StatMeta, error)

  • GetVoidBattlesMetadata(language LanguageCode) (*models.VoidBattleResponse, error)

  • GetVoidBattlesMetadata(language LanguageCode) (*models.VoidBattleResponse, error)

  • GetTitlesMetadata(language LanguageCode) (*models.TitleResponse, error)

Module Recommendation
  • GetModuleRecommendation(opts ModuleRecommendationOpts) (*models.ModuleRecommendationResponse, error)

Documentation

Index

Constants

This section is empty.

Variables

View Source
var LanguageCodes = struct {
	Korean             LanguageCode
	English            LanguageCode
	Danish             LanguageCode
	French             LanguageCode
	Japanese           LanguageCode
	ChineseSimplified  LanguageCode
	ChineseTraditional LanguageCode
	Italian            LanguageCode
	Polish             LanguageCode
	Portuguese         LanguageCode
	Russian            LanguageCode
	Spanish            LanguageCode
}{
	"ko", "en", "de", "fr", "ja", "zh-CN", "zh-TW", "it", "pl", "pt", "ru", "es",
}
View Source
var Periods = struct {
	SevenDays  Period // Last 7 days
	ThirtyDays Period // Last 30 days
	AllTime    Period // All Time
}{"0", "1", "2"}

Functions

func Stringify

func Stringify(message interface{}) string

Stringify attempts to create a reasonable string representation of types in the GitHub library. It does things like resolve pointers to their values and omits struct fields with nil values.

Types

type Client

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

func NewClient

func NewClient(key string, httpClient *http.Client) *Client

func (*Client) GetAccountIdentifier

func (c *Client) GetAccountIdentifier(userName string) (*models.AccountIdentifier, error)

Retrieves the account identifier (OUID).

func (*Client) GetBasicInformation

func (c *Client) GetBasicInformation(ouid string) (*models.UserBasic, error)

func (*Client) GetDescendantsMetadata

func (c *Client) GetDescendantsMetadata(language LanguageCode) ([]models.Descendant, error)

Retrieves descendant metadata

func (*Client) GetExternalComponent

func (c *Client) GetExternalComponent(ouid string, language LanguageCode) (*models.UserExternalComponent, error)

func (*Client) GetExternalComponentsMetadata

func (c *Client) GetExternalComponentsMetadata(language LanguageCode) ([]models.ExternalComponent, error)

func (*Client) GetModuleRecommendation

func (c *Client) GetModuleRecommendation(opts ModuleRecommendationOpts) (*models.ModuleRecommendation, error)

Retrieves descendant metadata

func (*Client) GetModulesMetadata

func (c *Client) GetModulesMetadata(language LanguageCode) ([]models.Module, error)

func (*Client) GetReactorsMetadata

func (c *Client) GetReactorsMetadata(language LanguageCode) ([]models.Reactor, error)

func (*Client) GetRewardsMetadata

func (c *Client) GetRewardsMetadata(language LanguageCode) ([]models.Reward, error)

func (*Client) GetStatsMetadata

func (c *Client) GetStatsMetadata(language LanguageCode) ([]models.StatMeta, error)

func (*Client) GetTitlesMetadata

func (c *Client) GetTitlesMetadata(language LanguageCode) ([]models.TitleResponse, error)

func (*Client) GetUserDescendant

func (c *Client) GetUserDescendant(ouid string) (*models.UserDescendant, error)

func (*Client) GetUserReactor

func (c *Client) GetUserReactor(ouid string, language LanguageCode) (*models.UserReactor, error)

func (*Client) GetUserWeapons

func (c *Client) GetUserWeapons(ouid string, language LanguageCode) (*models.UserWeapon, error)

func (*Client) GetVoidBattlesMetadata

func (c *Client) GetVoidBattlesMetadata(language LanguageCode) ([]models.VoidBattleResponse, error)

func (*Client) GetWeaponsMetadata

func (c *Client) GetWeaponsMetadata(language LanguageCode) ([]models.Weapon, error)

type LanguageCode

type LanguageCode string

func (*LanguageCode) String

func (l *LanguageCode) String() string

type ModuleRecommendationOpts

type ModuleRecommendationOpts struct {
	DescendantID string
	WeaponID     string
	VoidBattleID string
	Period       Period
}

type Period

type Period string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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