|
||
---|---|---|
.idea/runConfigurations | ||
example | ||
pkg/e621 | ||
tests | ||
.editorconfig | ||
.gitignore | ||
go.mod | ||
go.sum | ||
README.md | ||
README.md.OLD |
Go-e621 SDK
An unofficial e621 SDK (Client) library to interact with e621, e923 and e6ai.
Maintained by the Anthrove Development Team.
Table of Contents
Installation
Include instructions on how to install or get your Golang client API. This might include:
go get -u git.dragse.it/anthrove/e621-sdk-go
Usage
package main
import (
"git.dragse.it/anthrove/e621-sdk-go/pkg/e621"
"log"
)
func main() {
ApiUser := ""
ApiKey := ""
e621User := ""
client := e621.NewClient(ApiUser, ApiKey)
user, err := client.GetUserByName(e621User).Execute()
if err != nil {
log.Panic(err)
}
log.Printf("User ID of user %s: %d ", user.Name, user.ID)
}
Examples
This SDK Supports three levels of usage, Low Level, Mid Level & High Level.
All of those are available to you, you find some examples in the example directory.
High Level:
package main
import (
"git.dragse.it/anthrove/e621-sdk-go/pkg/e621"
"log"
)
func main() {
ApiUser := ""
ApiKey := ""
e621User := ""
client := e621.NewClient(ApiUser, ApiKey)
user, err := client.GetUserByName(e621User).Execute()
if err != nil {
log.Panic(err)
}
log.Printf("User ID of user %s: %d ", user.Name, user.ID)
}
Mid Level:
package main
import (
"git.dragse.it/anthrove/e621-sdk-go/pkg/e621/builder"
"git.dragse.it/anthrove/e621-sdk-go/pkg/e621/model"
"log"
"net/http"
)
func main() {
// Define the request context with essential information.
requestContext := model.RequestContext{
Client: http.Client{},
Host: "https://e621.net",
UserAgent: "Go-e621-SDK (@username)",
Username: "API_USER", // Replace with your username
APIKey: "API_KEY", // Replace with your API key
}
// Specify the username for retrieval.
username := "" // Replace with the desired username.
// Call the GetUser function to retrieve the specified user.
userBuilder := builder.NewGetUserBuilder(requestContext)
user, err := userBuilder.SetUsername(username).Execute()
if err != nil {
panic(err)
}
log.Printf("User ID of user %s: %d ", user.Name, user.ID)
}
Low Level:
package main
import (
"git.dragse.it/anthrove/e621-sdk-go/pkg/e621/endpoints"
"git.dragse.it/anthrove/e621-sdk-go/pkg/e621/model"
"log"
"net/http"
)
func main() {
// Define the request context with essential information.
requestContext := model.RequestContext{
Client: http.Client{},
Host: "https://e621.net",
UserAgent: "Go-e621-SDK (@username)",
Username: "API_USER", // Replace with your username
APIKey: "API_KEY", // Replace with your API key
}
// Specify the username for retrieval.
username := "" // Replace with the desired username.
// Call the GetUser function to retrieve the specified user.
user, err := endpoints.GetUser(requestContext, username)
if err != nil {
panic(err)
}
log.Printf("User ID of user %s: %d ", user.Name, user.ID)
}
Feature Completeness
Legend
Symbol | Meaning |
---|---|
❌ | Not implemented |
➖ | Partially implemented |
✔️ | Fully implemented |
High Level API
Area | Complete | Comment |
---|---|---|
Authentication | ✔️ | |
Posts | ➖ | |
Tags | ➖ | |
Tag aliases | ❌ | |
Tag implications | ❌ | |
Notes | ❌ | |
Pools | ❌ | |
Users | ✔️ | |
Favorites | ➖ | |
DB export | ❌ |
Mid Level API
Area | Get | Set |
---|---|---|
Authentication | ✔️ | |
Posts | ✔️ | |
Tags | ✔️ | |
Tag aliases | ❌ | |
Tag implications | ❌ | |
Notes | ✔️ | |
Pools | ✔️ | |
Users | ✔️ | |
Favorites | ✔️ | |
DB export | ✔️ |
Low Level API
Area | Get | Set |
---|---|---|
Authentication | ✔️ | |
Posts | ✔️ | |
Tags | ✔️ | |
Tag aliases | ❌ | |
Tag implications | ❌ | |
Notes | ✔️ | |
Pools | ✔️ | |
Users | ✔️ | |
Favorites | ✔️ | |
DB export | ✔️ |