Fixed S3 upload names

This commit is contained in:
Atridad Lahiji 2024-01-19 14:33:37 -07:00
parent 96e8318f06
commit f31739a59b
No known key found for this signature in database
2 changed files with 20 additions and 4 deletions

View file

@ -54,7 +54,7 @@ func ReplicateTextGeneration(prompt string) (string, error) {
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())
if clientError != nil {
return nil, clientError
@ -102,10 +102,19 @@ func ReplicateImageGeneration(prompt string) (*bytes.Buffer, error) {
}
// 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 {
log.Fatal(err)
}
defer os.Remove(tmpfile.Name())
if _, err := tmpfile.Write(imageBytes); err != nil {

11
main.go
View file

@ -10,6 +10,7 @@ import (
"net"
"os"
"os/signal"
"strconv"
"time"
"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)
}
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 {
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{
Name: "himbot_response.png",
Name: filename,
Reader: imageFile,
}