TibiaData API written in Golang and deployed in container (which contains v3)

Overview

TibiaData API in Golang

GitHub go.mod version Docker version Docker size GitHub license

TibiaData API written in Golang and deployed in container (which contains v3)

Current status of v3 is in beta and information like documentation can be found on tibiadata.com.

Table of Contents

How to use

You can either use it in a Docker container or go download the code and deploy it yourself on any server.

Keep in mind that there are restrictions on tibia.com that might impact the usage of the application being hosted yourself.

Docker-compose

Information will be added at a later stage.

Local development

Build the code on your computer

docker build -t tibiadata .

Run your build locally

docker run -p 127.0.0.1:80:8080/tcp --rm -it tibiadata

Environment variables

Information will be added at a later stage.

API documentation

Current status of v3 is in beta and information like documentation can be found on tibiadata.com.

There will be autogenerated code-documentation available later on.

Available endpoints

Those are the current existing endpoints.

  • GET /ping
  • GET /health
  • GET /v3/characters/character/:character
  • GET /v3/creatures
  • GET /v3/creatures/creature/:creature
  • GET /v3/fansites
  • GET /v3/highscores/world/:world
  • GET /v3/highscores/world/:world/:category
  • GET /v3/highscores/world/:world/:category/:vocation
  • GET /v3/killstatistics/world/:world
  • GET /v3/spells
  • GET /v3/spells/spell/:spell
  • GET /v3/spells/vocation/:vocation
  • GET /v3/worlds
  • GET /v3/worlds/world/:world
  • GET /versions

General information

Tibia is a registered trademark of CipSoft GmbH. Tibia and all products related to Tibia are copyright by CipSoft GmbH.

Credits

Comments
  • Characters section, deaths, non-breaking spaces

    Characters section, deaths, non-breaking spaces

    Im pretty noob at this point, so if its not a bug - sorry. Well, i rewrite my app to use v3 instead of v2 and after 3 days of using i realized that in every deaths, in every name with "space", instead of normal spaces, there is everywhere non-breaking spaces what literally fucked up everything in my case (for example i cant search for character name, becouse "xxx xxx" its not the same as "xxx\u00a0xxx") well... i got 10k deaths in my db with that bullshit spaces... i belive that in v2 there are normal spaces, becouse i never had that problem before the problem is with "reasons" and also with all the names separately at deathlist... ofc i can fix it by my side while adding everything to db, but im pretty sure it should be changed at api side

    bug 
    opened by 3ckdasnk 7
  • Add daily boosted creature + boss endpoints

    Add daily boosted creature + boss endpoints

    This data could be scraped from https://www.tibia.com/library/?subtopic=creatures and https://www.tibia.com/library/?subtopic=boostablebosses, respectively, or in a single request by visiting most pages on tibia.com e.g. https://www.tibia.com/news/?subtopic=latestnews where the HTML contains something like:

    <img id="Pedestal" src="https://static.tibia.com/images/global/header/pedestal.gif" alt="Monster Pedestal Box" /><br><img id="Monster" title="Today's boosted creature: Gozzler" src="https://static.tibia.com/images/global/header/monsters/gozzler.gif" onClick="window.location = 'https://www.tibia.com/library/?subtopic=creatures';" alt="Boosted Creature" /><img id="Boss" title="Today's boosted boss: Srezz Yellow Eyes" src="https://static.tibia.com/images/global/header/monsters/srezz.gif" onClick="window.location = 'https://www.tibia.com/library/?subtopic=boostablebosses';" alt="Boosted Boss" />
    
    opened by mathiasbynens 5
  • reduce dependencies

    reduce dependencies

    We were importing a few libs just because of a single constant value, instead, why not use the value directly?

    From https://pkg.go.dev/golang.org/x/net/html/atom Br = 0x202

    opened by Pedro-Pessoa 5
  • Some monsters are incorrectly identified as a summon in character deaths.

    Some monsters are incorrectly identified as a summon in character deaths.

    This happens to normal monsters who have ' of ' in their name and prefixed with 'a' or 'an' in the death message which causes them to match against summonRegex. A few examples would be sight of surrender, spark of destruction and the X of the cult family. A simple solution at a glance seems to be moving the get summon block inside TibiaDataParseKiller into the already existing if player conditional branch, and I don't believe this would affect deaths by summons of monsters since as far as I know they're always listed separately from their owner.

    bug good first issue 
    opened by Auscent 4
  • Houses endpoint responds with 404 on sold house

    Houses endpoint responds with 404 on sold house

    ONLY OCCURS DURING SERVER SAVE (10:00 CEST).

    If any house in the list includes "finished", the API will respond with a blank page, or 404. Requests towards the API will get 500 back.

    image

    Example links: https://api.tibiadata.com/v3/houses/Antica/Ankrahmun https://api.tibiadata.com/v3/houses/Nadora/Liberty%20Bay

    bug 
    opened by Krabba 3
  • error handling

    error handling

    Ok, this is a massive PR and also a rewrite of good chunks of the code. I splitted it into a few commits to make it easier to follow. I'll also try to summarize it as much as I can here.

    Reasoning: the webserver was already running on prod and was panicking on pretty much every error, which is not good. Besides that, invalid inputs (for example: 123456 as a char name) would return an "empty" json instead of an error.

    Changes:

    1: Static package

    I created a static package and moved all test files inside it (without any changes to the test files). The reason was to be able to embed the files. Since I created "nested" packages, this helps a lot with dealing with file paths.

    2: Tibia mapping package

    Created a separate package to fetch data from assets.tibiadata.com. This was mainly to organize the code.

    3: Validation package

    This is one of the biggest changes. This is where all the validation is happening. I even moved some validation that was being handled in the main package into here.

    This is how this package works: I implemented a bunch of error codes (errors.go), this makes it easier to debug code and also give users a more reasonable error response when making a request. I then made all handlers funcs validate their input (when needed), this reduces the amount of API calls made to tibia.com, but, most importantly, it gives us great control as to what error to return to the user. For example: instead of only responding with "character not found" we can give the user an error that exists in the input (name too small or too big for example). This package also has the limits.go file which are constants from tibia.com

    ~4: Env Vars funcs logic fix~

    ~This is a small change, isEnvExist and getEnv were simplified and had their logics fixed.~ (#91)

    ~5: Consistency changes~

    ~I changed all Tibiadata names to TibiaData, just for consistency.~ (#90) ~Stoped using ioutil as it is deprecated.~ (#92)

    6: Debug endpoint

    I created a /debug endpoint that shows some useful info about the validation package.

    7: Error Handling

    This is the biggest change on this PR. Here's what was done: All "Impl" funcs now return a pointer to their respective response and an error. This is how go handle errors. Before this, we were panicking on every error. Now we just return the error to the user.

    I changed a few ".Each" funcs to ".EachWithBreak", this is to be able to break the loop if an error occurs.

    Character not found, creature not found, spell not found, etc are now properly handled.

    Added a Status struct to the Information struct, this is returned on every request for consistency and contains these fields: HTTPCode, Error, Message. Error is the int value of the error, and Message is a readable message from the error.

    Created the TibiaDataErrorHandler that should be used everytime we want to return an error. TibiaDataAPIHandleResponse does not handle errors anymore and should not be called in case of an error.

    enhancement go 
    opened by Pedro-Pessoa 3
  • Bump golang.org/x/text from 0.5.0 to 0.6.0

    Bump golang.org/x/text from 0.5.0 to 0.6.0

    Bumps golang.org/x/text from 0.5.0 to 0.6.0.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies go 
    opened by dependabot[bot] 2
  • Bump github.com/gin-gonic/gin from 1.8.1 to 1.8.2

    Bump github.com/gin-gonic/gin from 1.8.1 to 1.8.2

    Bumps github.com/gin-gonic/gin from 1.8.1 to 1.8.2.

    Release notes

    Sourced from github.com/gin-gonic/gin's releases.

    v1.8.2

    Changelog

    Bug fixes

    • 0c2a691 fix(engine): missing route params for CreateTestContext (#2778) (#2803)
    • e305e21 fix(route): redirectSlash bug (#3227)

    Others

    • 6a2a260 Fix the GO-2022-1144 vulnerability (#3432)
    Changelog

    Sourced from github.com/gin-gonic/gin's changelog.

    Gin v1.8.2

    Bugs

    • fix(route): redirectSlash bug (#3227)
    • fix(engine): missing route params for CreateTestContext (#2778) (#2803)

    Security

    • Fix the GO-2022-1144 vulnerability (#3432)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies go 
    opened by dependabot[bot] 2
  • Bump golang from 1.19.3 to 1.19.4

    Bump golang from 1.19.3 to 1.19.4

    Bumps golang from 1.19.3 to 1.19.4.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies docker 
    opened by dependabot[bot] 2
  • Bump golang.org/x/text from 0.4.0 to 0.5.0

    Bump golang.org/x/text from 0.4.0 to 0.5.0

    Bumps golang.org/x/text from 0.4.0 to 0.5.0.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies go 
    opened by dependabot[bot] 2
  • Bump github.com/stretchr/testify from 1.8.0 to 1.8.1

    Bump github.com/stretchr/testify from 1.8.0 to 1.8.1

    Bumps github.com/stretchr/testify from 1.8.0 to 1.8.1.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies go 
    opened by dependabot[bot] 2
  • Feature: adding support for k8s health endpoints

    Feature: adding support for k8s health endpoints

    Adds two new endpoints to application so that kubernetes can monitor it.

    • GET /healthz
    • GET /readyz

    The current /health endpoints changes status from UP to OK. The /health endpoint will be removed in a later update as well.

    fix #146

    enhancement dependencies go 
    opened by tobiasehlert 2
  • Character death parsing bug with of in name

    Character death parsing bug with of in name

    Creature "spark of destruction" is getting parsed wrong.

    List of various creatures: https://pastebin.com/9m4He1pq

    URL that has an error: https://api.tibiadata.com/v3/character/Lupi%20Lucky

    {
    	"time": "2022-05-08T00:26:31Z",
    	"level": 537,
    	"killers": [{
    		"name": "destruction",
    		"player": false,
    		"traded": false,
    		"summon": "a spark"
    	}],
    	"assists": [],
    	"reason": "Died at Level 537 by a spark of destruction."
    }
    
    bug 
    opened by tobiasehlert 0
  • Improvement of error responses from the API

    Improvement of error responses from the API

    We need to respond with proper error codes and messages.

    Example scenarios:

    • 404 if the resource is not found (e.g. faulty character name)
    • 429 if the request is being throttled (tibia code is actually 403)
    • 503 if there was some upstream issue
    • and also something when tibia is having maintenance.

    Section that needs to be rewritten/enhanced: https://github.com/TibiaData/tibiadata-api-go/blob/ce26e500e9e611886573ec790eeb4644b6657aa9/src/webserver.go#L679-L691

    This should then also be added to the documentation annotation, so that docs get automatic update too.

    enhancement 
    opened by tobiasehlert 1
Releases(v3.5.1)
  • v3.5.1(Oct 19, 2022)

  • v.3.5.0(Oct 19, 2022)

    Added

    • fix highscores by implementing pagination (#164, #165 by @tobiasehlert)

    Changed

    • Bump golang from 1.19.0 to 1.19.2 (#158, #159 by @dependabot)
    • Bump golang.org/x/text from 0.3.7 to 0.4.0 (#160, #161 by @dependabot)
    Source code(tar.gz)
    Source code(zip)
  • v3.4.1(Aug 30, 2022)

    Changed

    • Bump golang from 1.18.4 to 1.19.0 (#156 by @dependabot)

    Fixed

    • Fix handling of special characters in boosted boss/creature name (#157 by @tiagomartines11)

    Full Changelog: https://github.com/TibiaData/tibiadata-api-go/compare/v3.4.0...v3.4.1

    Source code(tar.gz)
    Source code(zip)
    swagger.json(48.93 KB)
  • v3.4.0(Aug 2, 2022)

  • v3.3.1(Jul 29, 2022)

  • v3.3.0(Jul 27, 2022)

    Added

    • Add support to new boostable bosses page (#152 by @tiagomartines11)

    Changed

    • Removing v in container image tag (#144 by @tobiasehlert)
    • Updating go build step in dockerfile (#148 by @tobiasehlert)
    • Some go mod and workflow build updates (#137 by @tobiasehlert)
    • Bump github.com/gin-gonic/gin from 1.7.7 to 1.8.1 (#136, #140 by @dependabot)
    • Bump golang from 1.18.1 to 1.18.4 (#135, #138, #149 by @dependabot)
    • Bump github.com/stretchr/testify from 1.7.1 to 1.8.0 (#139, #141, #142, #143 by @dependabot)
    • Bump github.com/gin-contrib/gzip from 0.0.5 to 0.0.6 (#145 by @dependabot)

    Fixed

    • Parsing issue when guild description contains founded string (#151 by @tobiasehlert)

    Full Changelog: https://github.com/TibiaData/tibiadata-api-go/compare/v3.2.2...v3.3.0

    Source code(tar.gz)
    Source code(zip)
    swagger.json(48.90 KB)
  • v3.2.2(May 12, 2022)

    Changed

    • Bump various workflow versions (#126, #127, #128, #129, #130, #131, #132 by @dependabot)

    Fixed

    • Fix traded-string appearing in account characters info (#133 by @tiagomartines11)

    Full Changelog: https://github.com/TibiaData/tibiadata-api-go/compare/v3.2.1...v3.2.2

    Source code(tar.gz)
    Source code(zip)
    swagger.json(47.45 KB)
  • v3.2.1(Apr 26, 2022)

    Changed

    • Bump github/codeql-action from 1 to 2 (#122 by @dependabot)

    Fixed

    • Trimming suffix on guild rank (#121 by @tobiasehlert)
    • Change go version in go.mod (#124 by @sergot)
    • Adjusting parsing of fansite page (#125 by @tobiasehlert)

    Full Changelog: https://github.com/TibiaData/tibiadata-api-go/compare/v3.2.0...v3.2.1

    Source code(tar.gz)
    Source code(zip)
    swagger.json(47.45 KB)
  • v3.2.0(Apr 24, 2022)

    Changed

    • Adding support for finished auctions (#115, #118 by @tobiasehlert)
    • Enhancing deaths parsing of characters (#116 by @tobiasehlert)
    • Bump golang from 1.17.8 to 1.18.1 (#108, #113 by @dependabot)
    • Bump various workflow versions (#101, #102, #109, #110, #111, #112 by @dependabot)

    Fixed

    • Fix regex to handle one bed in house (#105 by @tobiasehlert)
    • Fix encoding of apostrophes in multiple places (#106 by @tobiasehlert)
    • Fix guild description to contain guild details (#107 by @tobiasehlert)
    • Fix characters missing marriage and some more tests (#117 by @tobiasehlert)

    Full Changelog: https://github.com/TibiaData/tibiadata-api-go/compare/v3.1.1...v3.2.0

    Source code(tar.gz)
    Source code(zip)
    swagger.json(47.45 KB)
  • v3.1.1(Mar 15, 2022)

  • v3.1.0(Mar 10, 2022)

    Changed

    • Renaming Tibiadata to TibiaData (#90 by @tobiasehlert)
    • Removing injection of houseType from assets (#95 by @tobiasehlert)
    • Removing return of loyalty title on no title (#98 by @tobiasehlert)
    • Bump docker/login-action from 1.14.0 to 1.14.1 (#87 by @dependabot)
    • Bump actions/checkout from 2 to 3 (#88 by @dependabot)
    • Bump golang from 1.17.7 to 1.17.8 (#96 by @dependabot)

    Fixed

    • Environment function logic fix (#91 by @tobiasehlert)
    • Stop using ioutil as it is deprecated (#92 by @Pedro-Pessoa)
    • Adding sanitize of nbsp string in death section of players (#99 by @tobiasehlert)

    Full Changelog: https://github.com/TibiaData/tibiadata-api-go/compare/v3.0.0...v3.1.0

    Source code(tar.gz)
    Source code(zip)
    swagger.json(47.39 KB)
  • v3.0.0(Mar 1, 2022)

  • v0.6.2(Feb 28, 2022)

  • v0.6.1(Feb 27, 2022)

    Changed

    • Switching assets download URL to assets.tibiadata.com
    • Bump docker/build-push-action from 2.8.0 to 2.9.0 (#80 by @dependabot)
    • Bump golang from 1.17.6 to 1.17.7 (#81 by @dependabot)
    • Bump docker/login-action from 1.12.0 to 1.13.0 (#82 by @dependabot)

    Full Changelog: https://github.com/TibiaData/tibiadata-api-go/compare/v0.6.0...v0.6.1

    Source code(tar.gz)
    Source code(zip)
    swagger.json(47.39 KB)
  • v0.6.0(Jan 31, 2022)

    Added

    • Addition of some more tests (#76 by @tobiasehlert)
    • implement graceful shutdown (#78 by @Pedro-Pessoa)
    • implement 404 page not found (#77 by @Pedro-Pessoa)

    Changed

    • Switching to http status codes (#79 by @tobiasehlert)
    • Cleanup of characters deathlist (#75 by @tobiasehlert)
    • Adjustment of endpoint namings (#74 by @tobiasehlert)

    Full Changelog: https://github.com/TibiaData/tibiadata-api-go/compare/v0.5.1...v0.6.0

    Source code(tar.gz)
    Source code(zip)
    swagger.json(47.39 KB)
  • v0.5.1(Jan 28, 2022)

    Added

    • Adding gzip compression middleware (#73 by @tobiasehlert)
    • Swagger documentation annotations (#67 by @tobiasehlert)

    Changed

    • Add some 'fake' unit tests to up coverage on webserver.go (#71 by @kamilon)
    • Add unit tests for House Overview and House APIs (#72 by @kamilon)

    Full Changelog: https://github.com/TibiaData/tibiadata-api-go/compare/v0.5.0...v0.5.1

    Source code(tar.gz)
    Source code(zip)
    swagger.json(63.61 KB)
  • v0.5.0(Jan 19, 2022)

    Added

    • Add unit tests for Spells Overview API, fix bugs in Spells Overview API (#55 by @kamilon)
    • Add unit tests for Spells API, fix various bugs in pulling of spell data (#56 by @kamilon)
    • Add unit tests for Kill Statistics API, move to goquery (#57 by @kamilon)
    • Add unit tests for Guild Overview and Guild API (#58 by @kamilon)
    • Add unit tests for Creatures Overview and Creature API, fix bug (#59 by @kamilon)
    • Add unit tests for Highscores API (#61 by @kamilon)
    • Add unit tests for Fansites API (#62 by @kamilon)
    • Add unit tests for News List API and News API (#60 by @kamilon)
    • Create and use HighscoreCategory enum (#63 by @kamilon)
    • Feature: Tibia Houses endpoints (#26 by @tobiasehlert)

    Changed

    • Refactor gin server to reduce code duplication (#64 by @kamilon)
    • Cache new regex queries (#66 by @kamilon)

    Fixed

    • Fix race condition with TibiadataRequestStruct (#65 by @kamilon)
    • Bump docker/build-push-action from 2.7.0 to 2.8.0 (#68 by @dependabot)

    Full Changelog: https://github.com/TibiaData/tibiadata-api-go/compare/v0.4.0...v0.5.0

    Source code(tar.gz)
    Source code(zip)
    swagger.json(63.61 KB)
  • v0.4.0(Jan 12, 2022)

    Added

    • Enhance data collection and debugging information (#31 by @tobiasehlert)
    • Adding rate-limit detection and status code switching (#36 by @tobiasehlert)
    • Adding TIBIADATA_HOST env (#39 by @tobiasehlert)
    • Rewrite of characters and adding of unit testing (#40 by @kamilon)
    • Adding codecov.io (#48 by @tobiasehlert)
    • Adding new Tibia News endpoints (#32 by @tobiasehlert)
    • Worlds Overview unit tests (#53 by @kamilon)
    • World unit tests (#54 by @kamilon)

    Changed

    • Refactor to use pure goquery and no manual regex on guilds (#29 by @JorgeMag96)
    • Performing go mod tidy (#43 by @tobiasehlert)
    • Use new assert instead of passing t many times (#45 by @Pedro-Pessoa)
    • Updating workflows (#51 by @tobiasehlert)
    • Bump golang from 1.17.5 to 1.17.6 (#50 by @dependabot)
    • Reduce dependencies (#44 by @Pedro-Pessoa)
    • Clean up webserver.go and a few utility funcs (#37, #52 by @Pedro-Pessoa)

    Fixed

    • Maintenance mode detection with error message return (#34 by @tobiasehlert)
    • Guilds name upper casing correction (#35 by @tobiasehlert)
    • Handle timezone information during DateTime parsing (#46, #49 by @kamilon, @tobiasehlert)

    Full Changelog: https://github.com/TibiaData/tibiadata-api-go/compare/v0.3.0...v0.4.0

    Source code(tar.gz)
    Source code(zip)
    swagger.json(63.61 KB)
  • v0.3.0(Jan 5, 2022)

    Added

    • Addition of two guild endpoints (#20 by @tobiasehlert)
    • Adding proxy support to replace default URL (#25 by @tobiasehlert)

    Changed

    • Clear lint errors (#18 by @Pedro-Pessoa)
    • Idiomatic go (#19 by @Pedro-Pessoa)
    • Removing duplicate function (#27 by @tobiasehlert)

    Fixed

    • Highscores endpoints redirect (#22 by @Pedro-Pessoa)

    Full Changelog: https://github.com/TibiaData/tibiadata-api-go/compare/v0.2.0...v0.3.0

    Source code(tar.gz)
    Source code(zip)
  • v0.2.0(Jan 2, 2022)

    Changed

    • Sanitize certain data (#14 by @darrentaytay)
    • Removing some code smell from SonarCloud (#10 by @tobiasehlert)
    • Moving vocation logic to separate function (#17 by @tobiasehlert)

    Fixed

    • Fix decoding issues and save some allocations (#15, #16 by @kamilon, @tobiasehlert)

    Full Changelog: https://github.com/TibiaData/tibiadata-api-go/compare/v0.1.1...v0.2.0

    Source code(tar.gz)
    Source code(zip)
  • v0.1.1(Dec 31, 2021)

    Changed

    • Bump actions/cache from 2.1.6 to 2.1.7 (#2 by @dependabot)
    • Bump docker/metadata-action from 3.6.0 to 3.6.2 (#1 by @dependabot)
    • Update README.md (#3, #5 by @tobiasehlert)
    • Implementation of response handler (#4 by @tobiasehlert)
    • Changing building and releasing (#6, #7 by @tobiasehlert)
    • Shrink of TibiaFansitesV3 (#8 by @tobiasehlert)
    • Updating build workflow with enhancements (#11 by @tobiasehlert)

    Full Changelog: https://github.com/TibiaData/tibiadata-api-go/compare/v0.1.0...v0.1.1

    Source code(tar.gz)
    Source code(zip)
  • v0.1.0(Dec 23, 2021)

Owner
TibiaData
TibiaData API is a RESTful API providing information in JSON format containing information from Tibia’s official homepage tibia.com.
TibiaData
A simple api server which can be used as backend of a e-bookstore

BookstoreAPIServer A simple api server which can be used as backend of a e-bookstore. User can get list of books and authors. Details of a book can be

Abdullah Al Shaad 22 Nov 8, 2022
This library provides a simple framework of microservice, which includes a configurator, a logger, metrics, and of course the handler

Microservice The framework for the creation of microservices, written in Golang. (note: http microservice) Architecture microservice includes: handle

Eduard 109 Dec 30, 2022
Tigo is an HTTP web framework written in Go (Golang).It features a Tornado-like API with better performance. Tigo是一款用Go语言开发的web应用框架,API特性类似于Tornado并且拥有比Tornado更好的性能。

Tigo(For English Documentation Click Here) 一个使用Go语言开发的web框架。 相关工具及插件 tiger tiger是一个专门为Tigo框架量身定做的脚手架工具,可以使用tiger新建Tigo项目或者执行其他操作。

Karl 1.4k Jan 5, 2023
Headless CMS with automatic JSON API. Featuring auto-HTTPS from Let's Encrypt, HTTP/2 Server Push, and flexible server framework written in Go.

Ponzu Watch the video introduction Ponzu is a powerful and efficient open-source HTTP server framework and CMS. It provides automatic, free, and secur

Ponzu 5.5k Dec 28, 2022
Rest-and-go-master - A basic online store API written to learn Go Programming Language

rest-and-go(Not maintained actively) A basic online store API written to learn G

urobin84 0 Jan 12, 2022
弹弹play 资源搜索节点 API 实现,基于 Cloudflare Workers 或 Golang 的两种实现。 || API implementations for "dandanplay" resource search service.

dandanplay-resource-service API implementations for "dandanplay" resource search service. 弹弹play 资源搜索节点的 API 实现。 提供基于 Cloudflare Workers 和 Golang 的两种实

Lussac 53 Dec 5, 2022
REST API made using native Golang libraries. This API resembles the basic working of Instagram.

Golang RESTful API for Instagram A Go based REST API built using native libraries. The API has been thoroughly worked through with Postman. Routes inc

Bhavya Goel 1 Mar 16, 2022
Couper is a lightweight API gateway designed to support developers in building and operating API-driven Web projects

Couper Couper is a lightweight API gateway designed to support developers in building and operating API-driven Web projects. Getting started The quick

Avenga 73 Nov 18, 2022
Boilerplate API template includes all the common packages and setup used for API development in this Company

Boilerplate API Boilerplate API template includes all the common packages and setup used for API development in this Company. Development Copy .env.ex

null 11 Feb 19, 2022
Best simple, lightweight, powerful and really fast Api with Golang (Fiber, REL, Dbmate) PostgreSqL Database and Clean Architecture

GOLANG FIBER API (CLEAN ARCHITECTURE) Best simple, lightweight, powerful and really fast Api with Golang (Fiber, REL, Dbmate) PostgreSqLDatabase using

Elias Champi 3 Sep 2, 2022
A REST web-service sample project written in Golang using go-fiber, GORM and PostgreSQL

backend A REST web-service sample project written in Golang using go-fiber, GORM and PostgreSQL How to run Make sure you have Go installed (download).

Omid Hojabri 28 Jan 1, 2023
golang crud restful api with gorm , gin and mysql DB

crud restful api with golang , gorm , gin and mysql this api does a simple CRUD operations on a single table mysql Database . this is build on top off

Brahim Bessrour 14 Feb 26, 2022
Opinionated boilerplate Golang HTTP server with CORS, OPA, Prometheus, rate-limiter for API and static website.

Teal.Finance/Garcon Opinionated boilerplate HTTP server with CORS, OPA, Prometheus, rate-limiter… for API and static website. Origin This library was

Teal.Finance 8 Nov 3, 2022
Example Golang API backend rest implementation mini project Point Of Sale using Gin Framework and Gorm ORM Database.

Example Golang API backend rest implementation mini project Point Of Sale using Gin Framework and Gorm ORM Database.

Restu Wahyu Saputra 31 Dec 23, 2022
Simple REST-API implementation using Golang with several packages (Echo, GORM) and Docker

Simple REST-API Boilerplate This is a simple implementation of REST-API using Golang and several packages (Echo and GORM). By default, I use PostgreSQ

Reza Pahlevi 1 Sep 13, 2022
Kubewrap - kubewrap is an kubernetes command line utility with a focus to explore the kubernetes REST API's leveraging the go libraries available along with golang and cobra packages.

Kubewrap kubewrap is an kubernetes cli wrapper with a focus to explore the kubernetes REST API's leveraging the go libraries available along with gola

Daniel Pickens 1 Nov 20, 2022
Gin is a HTTP web framework written in Go (Golang).

Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.

Gin-Gonic 65.5k Jan 3, 2023
BANjO is a simple web framework written in Go (golang)

BANjO banjo it's a simple web framework for building simple web applications Install $ go get github.com/nsheremet/banjo Example Usage Simple Web App

Nazarii Sheremet 20 Sep 27, 2022