dnd

Go Client for the D&D 5e REST API ⚔️🔮

MIT License

Stars
11

DnD

A Go Client for the Dungeons and Dragons 5e SRD REST API

Installation

Install with the go get command

go get github.com/brittonhayes/dnd

Documentation

View the full docs on pkg.go.dev

View the API here https://www.dnd5eapi.co/

Usage

Using the package is as easy as create client, pick the endpoint, and run the method. This applies across every data type, so it is consistent across the board. Here's a simple example of how to fetch a rule from the DnD 5e ruleset.

func main() {
    // Create a dnd client
    c := dnd.NewClient()
    
    // Fetch DnD rules about adventuring
    r, _ := c.Rules.Find("adventuring")
    
    // Print out the rule's name
    fmt.Println("Name", r.Name)
}

Examples

For example uses of the package, check out the example directory

Development

If you'd like to contribute to DnD, make sure you have mage installed: https://magefile.org

# Download dependencies and run tests
go run main.go download
go test ./...

Social image by Ashley Mcnamara https://twitter.com/ashleymcnamara 💖