Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/brittonhayes/dnd
Go Client for the D&D 5e REST API ⚔️🔮
https://github.com/brittonhayes/dnd
client dnd5e dungeons-and-dragons golang rest-api
Last synced: 17 days ago
JSON representation
Go Client for the D&D 5e REST API ⚔️🔮
- Host: GitHub
- URL: https://github.com/brittonhayes/dnd
- Owner: brittonhayes
- License: mit
- Created: 2021-01-09T11:22:54.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-02-25T07:31:24.000Z (over 1 year ago)
- Last Synced: 2024-10-04T16:44:07.814Z (about 1 month ago)
- Topics: client, dnd5e, dungeons-and-dragons, golang, rest-api
- Language: Go
- Homepage:
- Size: 176 KB
- Stars: 13
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# DnD
[![Go Reference](https://pkg.go.dev/badge/github.com/brittonhayes/dnd.svg)](https://pkg.go.dev/github.com/brittonhayes/dnd)
![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/brittonhayes/dnd?color=blue&label=Latest%20Version&sort=semver)
[![Go Report Card](https://goreportcard.com/badge/github.com/brittonhayes/dnd)](https://goreportcard.com/report/github.com/brittonhayes/dnd)
![Test](https://github.com/brittonhayes/dnd/workflows/Test/badge.svg)
[![codecov](https://codecov.io/gh/brittonhayes/dnd/branch/main/graph/badge.svg?token=VN11FU4LBW)](https://codecov.io/gh/brittonhayes/dnd)> A Go Client for the Dungeons and Dragons 5e SRD REST API
## Installation
Install with the go get command
```go
go get github.com/brittonhayes/dnd
```## Documentation
View the full docs on [pkg.go.dev](https://pkg.go.dev/github.com/brittonhayes/dnd)
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.```go
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](_example) directory
## Development
If you'd like to contribute to DnD\, make sure you have mage installed: https://magefile.org
```shell
# Download dependencies and run tests
go run main.go download
go test ./...
```---
> Social image by Ashley Mcnamara https://twitter.com/ashleymcnamara 💖