Go SDK для работы с Rigby API. Интерфейс повторяет TypeScript SDK (@rigbyhost/sdk-ts): те же группы методов (gdps, notifications, user) и имена методов.
go get github.com/rigbyhost/rigbysdk-gopackage main
import (
"fmt"
"log"
rigbysdk "github.com/rigbyhost/rigbysdk-go"
)
func main() {
sdk := rigbysdk.New("YOUR_API_TOKEN")
cfg, err := sdk.GDPS.Config.Get(map[string]any{"srvId": "my-server-id"})
if err != nil {
log.Fatal(err)
}
fmt.Println("Config:", cfg)
levels, err := sdk.GDPS.Levels.Search(map[string]any{
"srvId": "my-server-id",
"query": "demon",
})
if err != nil {
log.Fatal(err)
}
fmt.Println("Levels:", levels)
me, err := sdk.User.Me()
if err != nil {
log.Fatal(err)
}
fmt.Println("User:", me)
}Если API отвечает ошибкой, методы возвращают *rigbysdk.SDKError с полями Status и Body.
rigbysdk.New(token, options...) принимает опции:
WithBaseURL(url string)— задать альтернативный URL (по умолчаниюhttps://api.rigby.host).WithHTTPClient(*http.Client)— свой клиент.WithTimeout(d time.Duration)— таймаут по умолчанию для внутреннего HTTP-клиента.