docs: reworked README

Signed-off-by: SoXX <soxx@fenpa.ws>
This commit is contained in:
SoXX 2023-11-15 15:07:35 +01:00
parent 8c662f78fd
commit cdf042d79d
2 changed files with 221 additions and 13 deletions

169
README.md
View File

@ -1,15 +1,158 @@
# Go-e621 SDK
An unofficial e621 SDK (Client) library to interact with **e621**, **e923** and **e6ai**. Maintained by the Anthrove Development Team.
An unofficial e621 SDK (Client) library to interact with **e621**, **e923** and **e6ai**.
Maintained by the Anthrove Development Team.
- Caching?
- Auto pagination
- sync
- async
- connected/inelegant calls
- more docs
## Table of Contents
# Completeness
- [Installation](#installation)
- [Usage](#usage)
- [Configuration](#configuration)
- [Examples](#examples)
- [Feature Completeness](#feature-completeness)
## Installation
Include instructions on how to install or get your Golang client API. This might include:
```bash
go get -u git.dragse.it/anthrove/e621-sdk-go
```
## Usage
```golang
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:
````go
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:
````go
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:
````go
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_
@ -23,7 +166,7 @@ _High Level API_
| Area | Complete | Comment |
|:-----------------|:------------------:|:--------|
| Authentication | :x: | |
| Authentication | :heavy_check_mark: | |
| Posts | :heavy_minus_sign: | |
| Tags | :heavy_minus_sign: | |
| Tag aliases | :x: | |
@ -38,7 +181,7 @@ _Mid Level API_
| Area | Get | Set |
|:-----------------|:------------------:|:----|
| Authentication | :x: | |
| Authentication | :heavy_check_mark: | |
| Posts | :heavy_check_mark: | |
| Tags | :heavy_check_mark: | |
| Tag aliases | :x: | |
@ -47,13 +190,13 @@ _Mid Level API_
| Pools | :heavy_check_mark: | |
| Users | :heavy_check_mark: | |
| Favorites | :heavy_check_mark: | |
| DB export | :x: |
| DB export | :heavy_check_mark: |
_Low Level API_
| Area | Get | Set |
|:-----------------|:------------------:|:----|
| Authentication | :x: | |
| Authentication | :heavy_check_mark: | |
| Posts | :heavy_check_mark: | |
| Tags | :heavy_check_mark: | |
| Tag aliases | :x: | |
@ -62,4 +205,4 @@ _Low Level API_
| Pools | :heavy_check_mark: | |
| Users | :heavy_check_mark: | |
| Favorites | :heavy_check_mark: | |
| DB export | :x: | |
| DB export | :heavy_check_mark: | |

65
README.md.OLD Normal file
View File

@ -0,0 +1,65 @@
# Go-e621 SDK
An unofficial e621 SDK (Client) library to interact with **e621**, **e923** and **e6ai**. Maintained by the Anthrove Development Team.
- Caching?
- Auto pagination
- sync
- async
- connected/inelegant calls
- more docs
# Completeness
_Legend_
| Symbol | Meaning |
|:------------------:|:----------------------|
| :x: | Not implemented |
| :heavy_minus_sign: | Partially implemented |
| :heavy_check_mark: | Fully implemented |
_High Level API_
| Area | Complete | Comment |
|:-----------------|:------------------:|:--------|
| Authentication | :x: | |
| Posts | :heavy_minus_sign: | |
| Tags | :heavy_minus_sign: | |
| Tag aliases | :x: | |
| Tag implications | :x: | |
| Notes | :x: | |
| Pools | :x: | |
| Users | :heavy_check_mark: | |
| Favorites | :heavy_minus_sign: | |
| DB export | :x: | |
_Mid Level API_
| Area | Get | Set |
|:-----------------|:------------------:|:----|
| Authentication | :x: | |
| Posts | :heavy_check_mark: | |
| Tags | :heavy_check_mark: | |
| Tag aliases | :x: | |
| Tag implications | :x: | |
| Notes | :heavy_check_mark: | |
| Pools | :heavy_check_mark: | |
| Users | :heavy_check_mark: | |
| Favorites | :heavy_check_mark: | |
| DB export | :x: |
_Low Level API_
| Area | Get | Set |
|:-----------------|:------------------:|:----|
| Authentication | :x: | |
| Posts | :heavy_check_mark: | |
| Tags | :heavy_check_mark: | |
| Tag aliases | :x: | |
| Tag implications | :x: | |
| Notes | :heavy_check_mark: | |
| Pools | :heavy_check_mark: | |
| Users | :heavy_check_mark: | |
| Favorites | :heavy_check_mark: | |
| DB export | :x: | |