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
|
||||
}
|
||||
|
||||
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
11
main.go
|
@ -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,
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue