Fixed S3 upload names
This commit is contained in:
parent
96e8318f06
commit
f31739a59b
2 changed files with 20 additions and 4 deletions
|
@ -54,7 +54,7 @@ func ReplicateTextGeneration(prompt string) (string, error) {
|
||||||
return result, nil
|
return result, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func ReplicateImageGeneration(prompt string) (*bytes.Buffer, error) {
|
func ReplicateImageGeneration(prompt string, filename string) (*bytes.Buffer, error) {
|
||||||
client, clientError := replicate.NewClient(replicate.WithTokenFromEnv())
|
client, clientError := replicate.NewClient(replicate.WithTokenFromEnv())
|
||||||
if clientError != nil {
|
if clientError != nil {
|
||||||
return nil, clientError
|
return nil, clientError
|
||||||
|
@ -102,10 +102,19 @@ func ReplicateImageGeneration(prompt string) (*bytes.Buffer, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Save image to a temporary file
|
// Save image to a temporary file
|
||||||
tmpfile, err := os.CreateTemp("", "image.*.jpg")
|
var tmpfile *os.File
|
||||||
|
var err error
|
||||||
|
|
||||||
|
if filename != "" {
|
||||||
|
tmpfile, err = os.CreateTemp("", filename)
|
||||||
|
} else {
|
||||||
|
tmpfile, err = os.CreateTemp("", "image.*.jpg")
|
||||||
|
}
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatal(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
defer os.Remove(tmpfile.Name())
|
defer os.Remove(tmpfile.Name())
|
||||||
|
|
||||||
if _, err := tmpfile.Write(imageBytes); err != nil {
|
if _, err := tmpfile.Write(imageBytes); err != nil {
|
||||||
|
|
11
main.go
11
main.go
|
@ -10,6 +10,7 @@ import (
|
||||||
"net"
|
"net"
|
||||||
"os"
|
"os"
|
||||||
"os/signal"
|
"os/signal"
|
||||||
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/diamondburned/arikawa/v3/api"
|
"github.com/diamondburned/arikawa/v3/api"
|
||||||
|
@ -183,7 +184,13 @@ func (h *handler) cmdPic(ctx context.Context, data cmdroute.CommandData) *api.In
|
||||||
return errorResponse(err)
|
return errorResponse(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
imageFile, err := lib.ReplicateImageGeneration(options.Prompt)
|
// Get current epoch timestamp
|
||||||
|
timestamp := strconv.FormatInt(time.Now().Unix(), 10)
|
||||||
|
|
||||||
|
// Concatenate clean username and timestamp to form filename
|
||||||
|
filename := data.Event.Sender().Username + "_" + timestamp + ".jpg"
|
||||||
|
|
||||||
|
imageFile, err := lib.ReplicateImageGeneration(options.Prompt, filename)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
lib.CancelCooldown(data.Event.User.ID.String(), "pic")
|
lib.CancelCooldown(data.Event.User.ID.String(), "pic")
|
||||||
|
@ -191,7 +198,7 @@ func (h *handler) cmdPic(ctx context.Context, data cmdroute.CommandData) *api.In
|
||||||
}
|
}
|
||||||
|
|
||||||
file := sendpart.File{
|
file := sendpart.File{
|
||||||
Name: "himbot_response.png",
|
Name: filename,
|
||||||
Reader: imageFile,
|
Reader: imageFile,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue