fflogs

package module
v0.0.0-...-559f19e Latest Latest
Warning

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

Go to latest
Published: Jan 26, 2022 License: MIT Imports: 15 Imported by: 0

README

go-fflogs

  • Implements fflogs api written by golang.

  • Under development.

Installation

go get github.com/RyuaNerin/go-fflogs

Usage

c := fflogs.NewClient

LICENSE

Documentation

Index

Constants

View Source
const (
	BaseUrlDefault = "https://www.fflogs.com:443/v1"
)

Variables

View Source
var (
	ErrNotOk = errors.New("statusCode is not ok")
)

Functions

This section is empty.

Types

type Client

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

func NewClient

func NewClient(opt *ClientOpt) (*Client, error)

func (*Client) Classes

func (c *Client) Classes(context context.Context) ([]structure.Class, error)

Gets an array of Class objects. Each Class corresponds to a class in thegame.

func (*Client) ParsesCharacter

func (c *Client) ParsesCharacter(context context.Context, opt *ParsesCharacterOptions) ([]structure.CharacterRanking, error)

Obtains all parses for a character in the zone across all specs. Every parse is included and not just rankings.

func (*Client) RankingCharacter

func (c *Client) RankingCharacter(context context.Context, opt *RankingCharacterOptions) ([]structure.CharacterRanking, error)

Gets an array of CharacterRanking objects. Each CharacterRanking corresponds to a single rank on a fight for the specified character.

func (*Client) RankingEncounter

func (c *Client) RankingEncounter(context context.Context, opt *RankingEncounterOptions) (*structure.EncounterRankings, error)

Gets an object that contains a totl count and an array of EncounterRanking objects and a total number of rankings for that encounter. Each EncounterRanking corresponds to a single character or guild/team.

func (*Client) ReportEventsBuffs

func (c *Client) ReportEventsBuffs(context context.Context, opt *ReportEventsOptions) (*reportevents.Buffs, error)

Gets a set of events based off the view you're asking for. This exactly corresponds to the Events view on the site.

func (*Client) ReportEventsCasts

func (c *Client) ReportEventsCasts(context context.Context, opt *ReportEventsOptions) (*reportevents.Casts, error)

Gets a set of events based off the view you're asking for. This exactly corresponds to the Events view on the site.

func (*Client) ReportEventsDamageDone

func (c *Client) ReportEventsDamageDone(context context.Context, opt *ReportEventsOptions) (*reportevents.DamageDone, error)

Gets a set of events based off the view you're asking for. This exactly corresponds to the Events view on the site.

func (*Client) ReportEventsDamageTaken

func (c *Client) ReportEventsDamageTaken(context context.Context, opt *ReportEventsOptions) (*reportevents.DamageTaken, error)

Gets a set of events based off the view you're asking for. This exactly corresponds to the Events view on the site.

func (*Client) ReportEventsDeaths

func (c *Client) ReportEventsDeaths(context context.Context, opt *ReportEventsOptions) (*reportevents.Deaths, error)

Gets a set of events based off the view you're asking for. This exactly corresponds to the Events view on the site.

func (*Client) ReportEventsDebuffs

func (c *Client) ReportEventsDebuffs(context context.Context, opt *ReportEventsOptions) (*reportevents.Debuffs, error)

Gets a set of events based off the view you're asking for. This exactly corresponds to the Events view on the site.

func (*Client) ReportEventsHealing

func (c *Client) ReportEventsHealing(context context.Context, opt *ReportEventsOptions) (*reportevents.Healing, error)

Gets a set of events based off the view you're asking for. This exactly corresponds to the Events view on the site.

func (*Client) ReportEventsInterrupts

func (c *Client) ReportEventsInterrupts(context context.Context, opt *ReportEventsOptions) (*reportevents.Interrupts, error)

Gets a set of events based off the view you're asking for. This exactly corresponds to the Events view on the site.

func (*Client) ReportEventsResources

func (c *Client) ReportEventsResources(context context.Context, opt *ReportEventsOptions) (*reportevents.Resources, error)

Gets a set of events based off the view you're asking for. This exactly corresponds to the Events view on the site.

func (*Client) ReportEventsSummary

func (c *Client) ReportEventsSummary(context context.Context, opt *ReportEventsOptions) (*reportevents.Summary, error)

Gets a set of events based off the view you're asking for. This exactly corresponds to the Events view on the site.

func (*Client) ReportEventsSummons

func (c *Client) ReportEventsSummons(context context.Context, opt *ReportEventsOptions) (*reportevents.Summons, error)

Gets a set of events based off the view you're asking for. This exactly corresponds to the Events view on the site.

func (*Client) ReportEventsThreat

func (c *Client) ReportEventsThreat(context context.Context, opt *ReportEventsOptions) (*reportevents.Threat, error)

Gets a set of events based off the view you're asking for. This exactly corresponds to the Events view on the site.

func (*Client) ReportFights

func (c *Client) ReportFights(context context.Context, opt *ReportFightsOptions) (*structure.Fights, error)

Gets arrays of fights and the participants in those fights. Each Fight corresponds to a single pull of a boss.

func (*Client) ReportTablesBuffs

func (c *Client) ReportTablesBuffs(context context.Context, opt *ReportTablesOptions) (*reporttables.Buffs, error)

Gets a table of entries, either by actor or ability, of damage, healing and cast totals for each entry. This API exactly follows what is returned for the Tables panes on the site. It can and will change as the needs of those panes do, and as such should never be considered a frozen API. Use at your own risk.

func (*Client) ReportTablesCasts

func (c *Client) ReportTablesCasts(context context.Context, opt *ReportTablesOptions) (*reporttables.Casts, error)

Gets a table of entries, either by actor or ability, of damage, healing and cast totals for each entry. This API exactly follows what is returned for the Tables panes on the site. It can and will change as the needs of those panes do, and as such should never be considered a frozen API. Use at your own risk.

func (*Client) ReportTablesDamageDone

func (c *Client) ReportTablesDamageDone(context context.Context, opt *ReportTablesOptions) (*reporttables.DamageDone, error)

Gets a table of entries, either by actor or ability, of damage, healing and cast totals for each entry. This API exactly follows what is returned for the Tables panes on the site. It can and will change as the needs of those panes do, and as such should never be considered a frozen API. Use at your own risk.

func (*Client) ReportTablesDamageTaken

func (c *Client) ReportTablesDamageTaken(context context.Context, opt *ReportTablesOptions) (*reporttables.DamageTaken, error)

Gets a table of entries, either by actor or ability, of damage, healing and cast totals for each entry. This API exactly follows what is returned for the Tables panes on the site. It can and will change as the needs of those panes do, and as such should never be considered a frozen API. Use at your own risk.

func (*Client) ReportTablesDeaths

func (c *Client) ReportTablesDeaths(context context.Context, opt *ReportTablesOptions) (*reporttables.Deaths, error)

Gets a table of entries, either by actor or ability, of damage, healing and cast totals for each entry. This API exactly follows what is returned for the Tables panes on the site. It can and will change as the needs of those panes do, and as such should never be considered a frozen API. Use at your own risk.

func (*Client) ReportTablesDebuffs

func (c *Client) ReportTablesDebuffs(context context.Context, opt *ReportTablesOptions) (*reporttables.Debuffs, error)

Gets a table of entries, either by actor or ability, of damage, healing and cast totals for each entry. This API exactly follows what is returned for the Tables panes on the site. It can and will change as the needs of those panes do, and as such should never be considered a frozen API. Use at your own risk.

func (*Client) ReportTablesHealing

func (c *Client) ReportTablesHealing(context context.Context, opt *ReportTablesOptions) (*reporttables.Healing, error)

Gets a table of entries, either by actor or ability, of damage, healing and cast totals for each entry. This API exactly follows what is returned for the Tables panes on the site. It can and will change as the needs of those panes do, and as such should never be considered a frozen API. Use at your own risk.

func (*Client) ReportTablesResources

func (c *Client) ReportTablesResources(context context.Context, opt *ReportTablesOptions) (*reporttables.Resources, error)

Gets a table of entries, either by actor or ability, of damage, healing and cast totals for each entry. This API exactly follows what is returned for the Tables panes on the site. It can and will change as the needs of those panes do, and as such should never be considered a frozen API. Use at your own risk.

func (*Client) ReportTablesResourcesGains

func (c *Client) ReportTablesResourcesGains(context context.Context, opt *ReportTablesOptions) (*reporttables.ResourcesGains, error)

Gets a table of entries, either by actor or ability, of damage, healing and cast totals for each entry. This API exactly follows what is returned for the Tables panes on the site. It can and will change as the needs of those panes do, and as such should never be considered a frozen API. Use at your own risk.

func (*Client) ReportTablesSummary

func (c *Client) ReportTablesSummary(context context.Context, opt *ReportTablesOptions) (*reporttables.Summary, error)

Gets a table of entries, either by actor or ability, of damage, healing and cast totals for each entry. This API exactly follows what is returned for the Tables panes on the site. It can and will change as the needs of those panes do, and as such should never be considered a frozen API. Use at your own risk.

func (*Client) ReportTablesSummons

func (c *Client) ReportTablesSummons(context context.Context, opt *ReportTablesOptions) (*reporttables.Summons, error)

Gets a table of entries, either by actor or ability, of damage, healing and cast totals for each entry. This API exactly follows what is returned for the Tables panes on the site. It can and will change as the needs of those panes do, and as such should never be considered a frozen API. Use at your own risk.

func (*Client) ReportTablesSurvivability

func (c *Client) ReportTablesSurvivability(context context.Context, opt *ReportTablesOptions) (*reporttables.Survivability, error)

Gets a table of entries, either by actor or ability, of damage, healing and cast totals for each entry. This API exactly follows what is returned for the Tables panes on the site. It can and will change as the needs of those panes do, and as such should never be considered a frozen API. Use at your own risk.

func (*Client) ReportsGuild

func (c *Client) ReportsGuild(context context.Context, opt *ReportsGuildOptions) ([]structure.Report, error)

Gets an object that contains a total count and an array of EncounterRanking objects and a total number of rankings for that encounter. Each EncounterRanking corresponds to a single character or guild/team.

func (*Client) ReportsUser

func (c *Client) ReportsUser(context context.Context, opt *ReportsUserOptions) ([]structure.Report, error)

Gets an array of Report objects. Each Report corresponds to a single calendar report for the specified user's personal logs.

func (*Client) Zones

func (c *Client) Zones(context context.Context) ([]structure.Zone, error)

Gets an array of Zone objects. Each zone corresponds to a raid/dungeon instance in the game and has its own set of encounters.

type ClientOpt

type ClientOpt struct {
	ApiKey     string
	HttpClient *http.Client // default: http.DefaultClient
	BaseUrl    string       // default: fflogs.BaseUrlDefault
}

type Metric

type Metric string
var (
	MetricDps         Metric = "dps"
	MetricHps         Metric = "hps"
	MetricBossDps     Metric = "bossdps"
	MetricTankHps     Metric = "tankhps"
	MetricPlayerSpeed Metric = "playerspeed"
)

func (Metric) String

func (v Metric) String() string

type ParsesCharacterOptions

type ParsesCharacterOptions struct {
	CharacterName        string     `path:"characterName"`         // The name of the character to collect rankings for.
	ServerName           string     `path:"serverName"`            // The server that the character is found on. For World of Warcraft this is the 'slug' field returned from their realm status API.
	ServerRegion         Region     `path:"serverRegion"`          // The short region name for the server on which the character is located: US, EU, KR, TW, CN.
	Zone                 *int       `query:"zone"`                 // The zone to fetch rankings for. If omitted, the latest open raid zone is used.
	Encounter            *int       `query:"encounter"`            // An encounter within the zone to fetch parses for. If omitted, all encounters in the zone will be checked. If a valid encounter is specified, then historical graph data for the encounter will also be included in the results.
	Metric               *Metric    `query:"metric"`               // The metric to query for. Valid character metrics are 'dps', 'hps', 'bossdps, 'tankhps', or 'playerspeed'. For WoW only, 'krsi' can be used for tank survivability ranks.
	Bracket              *int       `query:"bracket"`              // The bracket to query for. If omitted or if a value of 0 is specified, then all brackets are examined. Brackets can be obtained from a /zones API request. The special value -1 can be used to obtain scores by bracket %, i.e., to automatically look only at the bracket each parse falls in.
	Compare              *int       `query:"compare"`              // Optional. Whether or not to compare against rankings (0) when computing performance percentiles or to compare against statistics (1). A value of 0 is assumed if omitted.
	Partition            *int       `query:"partition"`            // The partition group to query for. Most zones have only one partition, and this can be omitted. Hellfire Citadel has two partitions (1 for original, 2 for pre-patch). Highmaul and BRF have two partitions (1 for US/EU, 2 for Asia).
	Timeframe            *Timeframe `query:"timeframe"`            // Whether to compare against today's rankings or to return historical information (where the rank was back when it was earned. The accepted values are 'today' and 'historical', with the default being 'today'.
	IncludeCombatantInfo *bool      `query:"includeCombatantInfo"` // Whether or not to include combatant info like gear and talents. Optional. Defaults to false.
}

type RankingCharacterOptions

type RankingCharacterOptions struct {
	CharacterName        string     `path:"characterName"`         // The name of the character to collect rankings for.
	ServerName           string     `path:"serverName"`            // The server that the character is found on. For World of Warcraft this is the 'slug' field returned from their realm status API.
	ServerRegion         Region     `path:"serverRegion"`          // The short region name for the server on which the character is located: US, EU, KR, TW, CN.
	Zone                 *int       `query:"zone"`                 // The zone to fetch rankings for. If omitted, the latest open raid zone is used.
	Encounter            *int       `query:"encounter"`            // An encounter within the zone to fetch rankings for. If omitted, all encounters in the zone will be checked.
	Metric               *Metric    `query:"metric"`               // The metric to query for. Valid character metrics are 'dps', 'hps', 'bossdps, 'tankhps', or 'playerspeed'. For WoW only, 'krsi' can be used for tank survivability ranks.
	Bracket              *int       `query:"bracket"`              // The bracket to query for. If omitted or if a value of 0 is specified, then all brackets are examined. Brackets can be obtained from a /zones API request.
	Partition            *int       `query:"partition"`            // The partition group to query for. Most zones have only one partition, and this can be omitted. Hellfire Citadel has two partitions (1 for original, 2 for pre-patch). Highmaul and BRF have two partitions (1 for US/EU, 2 for Asia).	query	integer
	Timeframe            *Timeframe `query:"timeframe"`            // Whether to compare against today's rankings or to return historical information (where the rank was back when it was earned. The accepted values are 'today' and 'historical', with the default being 'today'.	query	string
	IncludeCombatantInfo *bool      `query:"includeCombatantInfo"` // Whether or not to include combatant info like gear and talents. Optional. Defaults to false.
}

type RankingEncounterOptions

type RankingEncounterOptions struct {
	EncounterID          int     `path:"encounterID"`           // The encounter to collect rankings for. Encounter IDs can be obtained using a /zones reuest.
	Metric               *Metric `query:"metric"`               // The metric to query for. Valid fight metrics are 'speed', 'execution' and 'feats'. Valid character metrics are 'dps', 'hps', 'bossdps, 'tankhps', or 'playerspeed'. For WoW only, 'krsi' can be used for tank survivability ranks and 'progress' can be used for guild progressinfo.
	Size                 *string `query:"size"`                 // The raid size to query for. This is only valid for fixed size raids. Raids with flexible sizing must omit this paraeter.
	Difficulty           *string `query:"difficulty"`           // The difficulty setting to query for. Valid difficulty settings are 1 = LFR, 2 = Flex, 3 = Normal, 4 = Heroic, 5 = Mythic, 10 = Challenge Mode, 100 = WildStar/FF. Can be omitted for encounters with only one difficulty seting.
	Partition            *int    `query:"partition"`            // The partition group to query for. Most zones have only one partition, and this can be omitted. Hellfire Citadel has two partitions (1 for original, 2 for pre-patch). Highmaul and BRF have two partitions (1 for US/EU, 2 for sia).
	Class                *int    `query:"class"`                // The class to query for if a character metric is specified. Valid class IDs can be obtained from a /classes API request. Optonal.
	Spec                 *int    `query:"spec"`                 // The spec to query for if a character metric is specified. Valid spec IDs can be obtained from a /classes API request. Optonal.
	Bracket              *int    `query:"bracket"`              // The bracket to query for. If omitted or if a value of 0 is specified, then all brackets are examined. Brackets can be obtained from a /zones API reuest.
	Server               *string `query:"server"`               // A server to filter on. If set, the region must also be specified. This is the slug field in Blizzard terminlogy.
	Region               *Region `query:"region"`               // The short name of a region to filter on (e.g., US, NAEU)
	Page                 *int    `query:"page"`                 // The page to examine, starting from 1. If the value is omitted, then 1 is assumed. For example, with a page of 2 and a limit of 300, you will be fetching rankings 30-600.
	Filter               *string `query:"filter"`               // A search filter string, limiting the search to specific classes, specs, fight durations, raid sizes, etc. The format should match the string used on the public rankings ages.
	IncludeCombatantInfo *bool   `query:"includeCombatantInfo"` // Whether or not to include combatant info like gear and talents. Optional. Defaults to alse.
}

type Raw

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

func (*Raw) Classes

func (c *Raw) Classes(context context.Context, resp interface{}) error

Gets an array of Class objects. Each Class corresponds to a class in thegame.

func (*Raw) ParsesCharacter

func (c *Raw) ParsesCharacter(context context.Context, opt *ParsesCharacterOptions, resp interface{}) error

Obtains all parses for a character in the zone across all specs. Every parse is included and not just rankings.

func (*Raw) RankingCharacter

func (c *Raw) RankingCharacter(context context.Context, opt *RankingCharacterOptions, resp interface{}) error

Gets an array of CharacterRanking objects. Each CharacterRanking corresponds to a single rank on a fight for the specified character.

func (*Raw) RankingEncounter

func (c *Raw) RankingEncounter(context context.Context, opt *RankingEncounterOptions, resp interface{}) error

Gets an object that contains a total count and an array of EncounterRanking objects and a total number of rankings for that encounter. Each EncounterRanking corresponds to a single character or guild/team.

func (*Raw) ReportEventsBuffs

func (c *Raw) ReportEventsBuffs(context context.Context, opt *ReportEventsOptions, resp interface{}) error

Gets a set of events based off the view you're asking for. This exactly corresponds to the Events view on the site.

func (*Raw) ReportEventsCasts

func (c *Raw) ReportEventsCasts(context context.Context, opt *ReportEventsOptions, resp interface{}) error

Gets a set of events based off the view you're asking for. This exactly corresponds to the Events view on the site.

func (*Raw) ReportEventsDamageDone

func (c *Raw) ReportEventsDamageDone(context context.Context, opt *ReportEventsOptions, resp interface{}) error

Gets a set of events based off the view you're asking for. This exactly corresponds to the Events view on the site.

func (*Raw) ReportEventsDamageTaken

func (c *Raw) ReportEventsDamageTaken(context context.Context, opt *ReportEventsOptions, resp interface{}) error

Gets a set of events based off the view you're asking for. This exactly corresponds to the Events view on the site.

func (*Raw) ReportEventsDeaths

func (c *Raw) ReportEventsDeaths(context context.Context, opt *ReportEventsOptions, resp interface{}) error

Gets a set of events based off the view you're asking for. This exactly corresponds to the Events view on the site.

func (*Raw) ReportEventsDebuffs

func (c *Raw) ReportEventsDebuffs(context context.Context, opt *ReportEventsOptions, resp interface{}) error

Gets a set of events based off the view you're asking for. This exactly corresponds to the Events view on the site.

func (*Raw) ReportEventsHealing

func (c *Raw) ReportEventsHealing(context context.Context, opt *ReportEventsOptions, resp interface{}) error

Gets a set of events based off the view you're asking for. This exactly corresponds to the Events view on the site.

func (*Raw) ReportEventsInterrupts

func (c *Raw) ReportEventsInterrupts(context context.Context, opt *ReportEventsOptions, resp interface{}) error

Gets a set of events based off the view you're asking for. This exactly corresponds to the Events view on the site.

func (*Raw) ReportEventsResources

func (c *Raw) ReportEventsResources(context context.Context, opt *ReportEventsOptions, resp interface{}) error

Gets a set of events based off the view you're asking for. This exactly corresponds to the Events view on the site.

func (*Raw) ReportEventsSummary

func (c *Raw) ReportEventsSummary(context context.Context, opt *ReportEventsOptions, resp interface{}) error

Gets a set of events based off the view you're asking for. This exactly corresponds to the Events view on the site.

func (*Raw) ReportEventsSummons

func (c *Raw) ReportEventsSummons(context context.Context, opt *ReportEventsOptions, resp interface{}) error

Gets a set of events based off the view you're asking for. This exactly corresponds to the Events view on the site.

func (*Raw) ReportEventsThreat

func (c *Raw) ReportEventsThreat(context context.Context, opt *ReportEventsOptions, resp interface{}) error

Gets a set of events based off the view you're asking for. This exactly corresponds to the Events view on the site.

func (*Raw) ReportFights

func (c *Raw) ReportFights(context context.Context, opt *ReportFightsOptions, resp interface{}) error

Gets arrays of fights and the participants in those fights. Each Fight corresponds to a single pull of a boss.

func (*Raw) ReportTablesBuffs

func (c *Raw) ReportTablesBuffs(context context.Context, opt *ReportTablesOptions, resp interface{}) error

Gets a table of entries, either by actor or ability, of damage, healing and cast totals for each entry. This API exactly follows what is returned for the Tables panes on the site. It can and will change as the needs of those panes do, and as such should never be considered a frozen API. Use at your own risk.

func (*Raw) ReportTablesCasts

func (c *Raw) ReportTablesCasts(context context.Context, opt *ReportTablesOptions, resp interface{}) error

Gets a table of entries, either by actor or ability, of damage, healing and cast totals for each entry. This API exactly follows what is returned for the Tables panes on the site. It can and will change as the needs of those panes do, and as such should never be considered a frozen API. Use at your own risk.

func (*Raw) ReportTablesDamageDone

func (c *Raw) ReportTablesDamageDone(context context.Context, opt *ReportTablesOptions, resp interface{}) error

Gets a table of entries, either by actor or ability, of damage, healing and cast totals for each entry. This API exactly follows what is returned for the Tables panes on the site. It can and will change as the needs of those panes do, and as such should never be considered a frozen API. Use at your own risk.

func (*Raw) ReportTablesDamageTaken

func (c *Raw) ReportTablesDamageTaken(context context.Context, opt *ReportTablesOptions, resp interface{}) error

Gets a table of entries, either by actor or ability, of damage, healing and cast totals for each entry. This API exactly follows what is returned for the Tables panes on the site. It can and will change as the needs of those panes do, and as such should never be considered a frozen API. Use at your own risk.

func (*Raw) ReportTablesDeaths

func (c *Raw) ReportTablesDeaths(context context.Context, opt *ReportTablesOptions, resp interface{}) error

Gets a table of entries, either by actor or ability, of damage, healing and cast totals for each entry. This API exactly follows what is returned for the Tables panes on the site. It can and will change as the needs of those panes do, and as such should never be considered a frozen API. Use at your own risk.

func (*Raw) ReportTablesDebuffs

func (c *Raw) ReportTablesDebuffs(context context.Context, opt *ReportTablesOptions, resp interface{}) error

Gets a table of entries, either by actor or ability, of damage, healing and cast totals for each entry. This API exactly follows what is returned for the Tables panes on the site. It can and will change as the needs of those panes do, and as such should never be considered a frozen API. Use at your own risk.

func (*Raw) ReportTablesHealing

func (c *Raw) ReportTablesHealing(context context.Context, opt *ReportTablesOptions, resp interface{}) error

Gets a table of entries, either by actor or ability, of damage, healing and cast totals for each entry. This API exactly follows what is returned for the Tables panes on the site. It can and will change as the needs of those panes do, and as such should never be considered a frozen API. Use at your own risk.

func (*Raw) ReportTablesResources

func (c *Raw) ReportTablesResources(context context.Context, opt *ReportTablesOptions, resp interface{}) error

Gets a table of entries, either by actor or ability, of damage, healing and cast totals for each entry. This API exactly follows what is returned for the Tables panes on the site. It can and will change as the needs of those panes do, and as such should never be considered a frozen API. Use at your own risk.

func (*Raw) ReportTablesResourcesGains

func (c *Raw) ReportTablesResourcesGains(context context.Context, opt *ReportTablesOptions, resp interface{}) error

Gets a table of entries, either by actor or ability, of damage, healing and cast totals for each entry. This API exactly follows what is returned for the Tables panes on the site. It can and will change as the needs of those panes do, and as such should never be considered a frozen API. Use at your own risk.

func (*Raw) ReportTablesSummary

func (c *Raw) ReportTablesSummary(context context.Context, opt *ReportTablesOptions, resp interface{}) error

Gets a table of entries, either by actor or ability, of damage, healing and cast totals for each entry. This API exactly follows what is returned for the Tables panes on the site. It can and will change as the needs of those panes do, and as such should never be considered a frozen API. Use at your own risk.

func (*Raw) ReportTablesSummons

func (c *Raw) ReportTablesSummons(context context.Context, opt *ReportTablesOptions, resp interface{}) error

Gets a table of entries, either by actor or ability, of damage, healing and cast totals for each entry. This API exactly follows what is returned for the Tables panes on the site. It can and will change as the needs of those panes do, and as such should never be considered a frozen API. Use at your own risk.

func (*Raw) ReportTablesSurvivability

func (c *Raw) ReportTablesSurvivability(context context.Context, opt *ReportTablesOptions, resp interface{}) error

Gets a table of entries, either by actor or ability, of damage, healing and cast totals for each entry. This API exactly follows what is returned for the Tables panes on the site. It can and will change as the needs of those panes do, and as such should never be considered a frozen API. Use at your own risk.

func (*Raw) ReportsGuild

func (c *Raw) ReportsGuild(context context.Context, opt *ReportsGuildOptions, resp interface{}) error

Gets an object that contains a total count and an array of EncounterRanking objects and a total number of rankings for that encounter. Each EncounterRanking corresponds to a single character or guild/team.

func (*Raw) ReportsUser

func (c *Raw) ReportsUser(context context.Context, opt *ReportsUserOptions, resp interface{}) error

Gets an array of Report objects. Each Report corresponds to a single calendar report for the specified user's personal logs.

func (*Raw) Zones

func (c *Raw) Zones(context context.Context, resp interface{}) error

Gets an array of Zone objects. Each zone corresponds to a raid/dungeon instance in the game and has its own set of encounters.

type Region

type Region string
var (
	RegionUS Region = "US"
	RegionEU Region = "EU"
	RegionKR Region = "KR"
	RegionTW Region = "TW"
	RegionCN Region = "CN"
)

func (Region) String

func (v Region) String() string

type ReportEventsOptions

type ReportEventsOptions struct {
	//View               string `path:"view"`                // The type of data requested. Supported values are 'summary', 'damage-done', 'damage-taken', 'healing', 'casts', 'summons', 'buffs', 'debuffs', 'deaths', 'threat', 'resources', 'interrupts' and 'dispels'.
	Code               string  `path:"code"`                // The specific report to collect table entries for.
	Start              *int    `query:"start"`              // A start time. This is a time from the start of the report in milliseconds. If omitted, 0 is assumed.
	End                *int    `query:"end"`                // An end time. This is a time from the start of the report in milliseconds. If omitted, 0 is assumed.
	Hostility          *int    `query:"hostility"`          // An optional hostility value of 0 or 1. The default is 0. A value of 0 means to collect data for Friendlies. A value of 1 means to collect data for Enemies.
	Sourceid           *int    `query:"sourceid"`           // An optional actor ID to filter to. If set, only events where the ID matches the source (or target for damage-taken) of the event will be returned. The actor's pets will also be included (unless the options field overrides).
	Sourceinstance     *int    `query:"sourceinstance"`     // An optional actor instance ID to filter to. If set, only events where the instance ID matches the source (or target for damage-taken) of the event will be returned. This is useful to look for all events involving NPC N, where N is the actor instance ID.
	Sourceclass        *string `query:"sourceclass"`        // An optional actor class to filter to. If set, only events where the source (or target for damage-taken) involves that class (e.g., Mage) will be returned.
	Targetid           *int    `query:"targetid"`           // An optional actor ID to filter to. If set, only events where the ID matches the target (or source for damage-taken) of the event will be returned. This value is not used in the 'deaths', 'survivability', 'resources' and 'resources-gains' views.
	Targetinstance     *int    `query:"targetinstance"`     // An optional actor instance ID to filter to. If set, only events where the instance ID matches the target (or source for damage-taken) of the event will be returned. This is useful to look for all events involving NPC N, where N is the actor instance ID. This value is not used in the 'deaths', 'survivability', 'resources' and 'resources-gains' views.
	Targetclass        *string `query:"targetclass"`        // An optional actor class to filter to. If set, only events where the target (or source for damage-taken) involves that class (e.g., Mage) will be returned. This value is not used in the 'deaths', 'survivability', 'resources' and 'resources-gains' views.
	SourceAurasPresent *string `query:"sourceAurasPresent"` // A comma-separated string of aura game IDs. Only matches if the aura is present on the source.
	SourceAurasAbsent  *string `query:"sourceAurasAbsent"`  // A comma-separated string of aura game IDs. Only matches if the aura is absent on the source.
	TargetAurasPresent *string `query:"targetAurasPresent"` // A comma-separated string of aura game IDs. Only matches if the aura is present on the target.
	TargetAurasAbsent  *string `query:"targetAurasAbsent"`  // A comma-separated string of aura game IDs. Only matches if the aura is absent on the target.
	Abilityid          *int    `query:"abilityid"`          // An optional ability ID to filter to. If set, only events where the ability matches will be returned. Consolidated abilities (WCL only) are represented using a negative number that matches the ability ID that everything is consolidated under. For the 'deaths' view, this represents a specific killing blow. For the resources views, the abilityid is not an ability but a resource type. Valid resource types can be viewed at https://www.fflogs.com/reports/resource_types/
	Death              *int    `query:"death"`              // An optional death to filter to. Only used for the deaths command. Select the Nth death in the time range that matches all the other filters.
	Options            *int    `query:"options"`            // A set of options for what to include/exclude. These correspond to options like Include Overkill in the Damage Done pane. Complete list will be forthcoming. If omitted, appropriate defaults that match WCL's default behavior will be chosen. This value is not used in the 'deaths', 'survivability', 'resources' and 'resources-gains' views.
	Cutoff             *int    `query:"cutoff"`             // An optional death cutoff. If set, events after that number of deaths have occurred will not be examined.
	Encounter          *int    `query:"encounter"`          // An optional encounter filter. If set to a specific encounter ID, only fights involving a specific encounter will be considered. The encounter IDs match those used in rankings/statistics.
	Wipes              *int    `query:"wipes"`              // An optional wipes filter. If set to 1, only wipes will be considered.
	Difficulty         *int    `query:"difficulty"`         // An optional difficulty filter.
	Filter             *string `query:"filter"`             // An optional filter written in WCL's expression language. Events must match the filter to be included.
	Translate          *bool   `query:"translate"`          // An optional flag indicating that the results should be translated into the language of the host (e.g., cn.warcraftlogs.com would get Chinese results).
}

type ReportFightsOptions

type ReportFightsOptions struct {
	Code      string `path:"code"`       // The specific report to collect fights and participants for.
	Translate *bool  `query:"translate"` // An optional flag indicating that the results should be translated into the language of the host (e.g., cn.warcraftlogs.com would get Chinese results).
}

type ReportTablesOptions

type ReportTablesOptions struct {
	//view               string `path:"view"`                // The type of data requested. Supported values are 'summary', 'damage-done', 'damage-taken', 'healing', 'casts', 'summons', 'buffs', 'debuffs', 'deaths', 'survivability', 'resources' and 'resources-gains'.
	Code               string  `path:"code"`                // The specific report to collect table entries for.
	Start              *int    `query:"start"`              // A start time. This is a time from the start of the report in milliseconds. If omitted, 0 is assumed.
	End                *int    `query:"end"`                // An end time. This is a time from the start of the report in milliseconds. If omitted, 0 is assumed.
	Hostility          *int    `query:"hostility"`          // An optional hostility value of 0 or 1. The default is 0. A value of 0 means to collect data for Friendlies. A value of 1 means to collect data for Enemies.
	By                 *string `query:"by"`                 // An optional parameter indicating how to group entries. They can be grouped by 'source', by 'target', or by 'ability'. This value matches WCL's default behavior if omitted. For buffs and debuffs, a value of 'source' means auras gained by the source, and a value of 'target' means auras cast by the source. This value is not used in the 'deaths', 'survivability', 'resources' and 'resources-gains' views.
	Sourceid           *int    `query:"sourceid"`           // An optional actor ID to filter to. If set, only events where the ID matches the source (or target for damage-taken) of the event will be returned. The actor's pets will also be included (unless the options field overrides).
	Sourceinstance     *int    `query:"sourceinstance"`     // An optional actor instance ID to filter to. If set, only events where the instance ID matches the source (or target for damage-taken) of the event will be returned. This is useful to look for all events involving NPC N, where N is the actor instance ID.
	Sourceclass        *string `query:"sourceclass"`        // An optional actor class to filter to. If set, only events where the source (or target for damage-taken) involves that class (e.g., Mage) will be returned.
	Targetid           *int    `query:"targetid"`           // An optional actor ID to filter to. If set, only events where the ID matches the target (or source for damage-taken) of the event will be returned. This value is not used in the 'deaths', 'survivability', 'resources' and 'resources-gains' views.
	Targetinstance     *int    `query:"targetinstance"`     // An optional actor instance ID to filter to. If set, only events where the instance ID matches the target (or source for damage-taken) of the event will be returned. This is useful to look for all events involving NPC N, where N is the actor instance ID. This value is not used in the 'deaths', 'survivability', 'resources' and 'resources-gains' views.
	Targetclass        *string `query:"targetclass"`        // An optional actor class to filter to. If set, only events where the target (or source for damage-taken) involves that class (e.g., Mage) will be returned. This value is not used in the 'deaths', 'survivability', 'resources' and 'resources-gains' views.
	SourceAurasAbsent  *string `query:"sourceAurasAbsent"`  // A comma-separated string of aura game IDs. Only matches if the aura is absent on the source.
	TargetAurasPresent *string `query:"targetAurasPresent"` // A comma-separated string of aura game IDs. Only matches if the aura is present on the target.
	TargetAurasAbsent  *string `query:"targetAurasAbsent"`  // A comma-separated string of aura game IDs. Only matches if the aura is absent on the target.
	Abilityid          *int    `query:"abilityid"`          // An optional ability ID to filter to. If set, only events where the ability matches will be returned. Consolidated abilities (WCL only) are represented using a negative number that matches the ability ID that everything is consolidated under. For the 'deaths' view, this represents a specific killing blow. For the resources views, the abilityid is not an ability but a resource type. Valid resource types can be viewed at https://www.fflogs.com/reports/resource_types/
	Options            *int    `query:"options"`            // A set of options for what to include/exclude. These correspond to options like Include Overkill in the Damage Done pane. Complete list will be forthcoming. If omitted, appropriate defaults that match WCL's default behavior will be chosen. This value is not used in the 'deaths', 'survivability', 'resources' and 'resources-gains' views.
	Cutoff             *int    `query:"cutoff"`             // An optional death cutoff. If set, events after that number of deaths have occurred will not be examined.
	Encounter          *int    `query:"encounter"`          // An optional encounter filter. If set to a specific encounter ID, only fights involving a specific encounter will be considered. The encounter IDs match those used in rankings/statistics.
	Wipes              *int    `query:"wipes"`              // An optional wipes filter. If set to 1, only wipes will be considered.
	Difficulty         *int    `query:"difficulty"`         // An optional difficulty filter.
	Filter             *string `query:"filter"`             // An optional filter written in WCL's expression language. Events must match the filter to be included.
	Translate          *bool   `query:"translate"`          // An optional flag indicating that the results should be translated into the language of the host (e.g., cn.warcraftlogs.com would get Chinese results).
}

type ReportsGuildOptions

type ReportsGuildOptions struct {
	GuildName    string `path:"guildName"`    // The name of the guild to collect reports for.
	ServerName   string `path:"serverName"`   // The server that the guild is found on. For World of Warcraft this is the 'slug' field returned from their realm status API.
	ServerRegion Region `path:"serverRegion"` // The short region name for the server on which the guild is located: US, EU, KR, TW, CN.
	Start        *int   `query:"start"`       // An optional start time. This is a UNIX timestamp but with millisecond precision. If omitted, 0 is assumed.
	End          *int   `query:"end"`         // An optional end time. This is a UNIX timestamp but with millisecond precision. If omitted, the current time is assumed.
}

type ReportsUserOptions

type ReportsUserOptions struct {
	UserName string `path:"userName"` // The name of the user to collect reports for.
	Start    *int   `query:"start"`   // An optional start time. This is a UNIX timestamp but with millisecond precision. If omitted, 0 is assumed.
	End      *int   `query:"end"`     // An optional end time. This is a UNIX timestamp but with millisecond precision. If omitted, the current time is assumed.
}

type Timeframe

type Timeframe string
var (
	TimeframeToday      Timeframe = "today"
	TimeframeHistorical Timeframe = "historical"
)

func (Timeframe) String

func (v Timeframe) String() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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