From b136365477154e4bec7b32138b3322d5b54d1da8 Mon Sep 17 00:00:00 2001 From: atridadl Date: Fri, 29 Dec 2023 14:12:11 -0700 Subject: [PATCH] Bot update --- main.go | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/main.go b/main.go index 2f94a9e..e426ca2 100644 --- a/main.go +++ b/main.go @@ -140,7 +140,7 @@ func (h *handler) cmdAsk(ctx context.Context, data cmdroute.CommandData) *api.In // Command Logic var options struct { - Arg string `discord:"prompt"` + Prompt string `discord:"prompt"` } if err := data.Options.Unmarshal(&options); err != nil { @@ -156,7 +156,7 @@ func (h *handler) cmdAsk(ctx context.Context, data cmdroute.CommandData) *api.In Messages: []openai.ChatCompletionMessage{ { Role: openai.ChatMessageRoleUser, - Content: options.Arg, + Content: options.Prompt, }, }, }, @@ -170,8 +170,24 @@ func (h *handler) cmdAsk(ctx context.Context, data cmdroute.CommandData) *api.In } } + respString := resp.Choices[0].Message.Content + + if len(respString) > 1800 { + textFile := bytes.NewBuffer([]byte(respString)) + + file := sendpart.File{ + Name: "himbot_response.txt", + Reader: textFile, + } + + return &api.InteractionResponseData{ + Content: option.NewNullableString("Prompt: " + options.Prompt + "\n" + "Response:\n"), + AllowedMentions: &api.AllowedMentions{}, // don't mention anyone + Files: []sendpart.File{file}, + } + } return &api.InteractionResponseData{ - Content: option.NewNullableString(resp.Choices[0].Message.Content), + Content: option.NewNullableString("Prompt: " + options.Prompt + "\n" + "Response: " + respString), AllowedMentions: &api.AllowedMentions{}, // don't mention anyone } }