50 lines
1.4 KiB
Markdown
50 lines
1.4 KiB
Markdown
# Anthrove Plug SDK
|
|
|
|
Anthrove Plug SDK is a Golang-based Software Development Kit (SDK) that provides a gRPC server implementation for the Anthrove system. This SDK enables users to easily set up a server, establish a database connection, and set a task execution function.
|
|
|
|
## Installation
|
|
|
|
To install the Anthrove Plug SDK, you will need to have Go installed on your system. You can then use the go get command to fetch the SDK:
|
|
|
|
```bash
|
|
go get git.anthrove.art/anthrove/plug-sdk/v2
|
|
```
|
|
## Usage
|
|
|
|
Below is a basic example of how to use the SDK:
|
|
|
|
````go
|
|
import "git.anthrove.art/anthrove/plug-sdk/v2/pkg/plug"
|
|
|
|
// Define what Source this Plug is used for
|
|
source := models.Source{
|
|
DisplayName: "e621",
|
|
Domain: "e621.net",
|
|
Icon: "e621.net/icon.png",
|
|
}
|
|
|
|
// Create a new Plug instance
|
|
p := plug.NewPlug(ctx, "localhost", "50051", source)
|
|
|
|
// Set the OtterSpace database
|
|
p.WithOtterSpace(database)
|
|
|
|
// Set the task execution function
|
|
p.TaskExecutionFunction(func(ctx context.Context, database database.OtterSpace, sourceUsername string, anthroveUser models.User, deepScrape bool, apiKey string, cancelFunction func()) error {
|
|
// Your task execution logic here
|
|
})
|
|
|
|
// Set the send message execution function
|
|
p.SendMessageExecution(func(ctx context.Context, userSourceID string, message string) error {
|
|
// Your message sending logic here
|
|
})
|
|
|
|
// Start the server
|
|
err := p.Listen()
|
|
if err != nil {
|
|
log.Fatalf("Failed to start server: %v", err)
|
|
}
|
|
|
|
|
|
````
|