This commit is contained in:
semblanceofsense 2025-02-17 14:25:35 -07:00
parent 30663d31dd
commit cf9c6914c2

View File

@ -8,6 +8,7 @@ import (
"mazesolver/internal/solvemaze" "mazesolver/internal/solvemaze"
"os" "os"
"os/signal" "os/signal"
"regexp"
"strconv" "strconv"
"strings" "strings"
@ -53,25 +54,26 @@ func Run(BotToken string) {
switch data.Name { switch data.Name {
case "solve-maze": case "solve-maze":
messageUrl := i.ApplicationCommandData().Options[0].Value.(string); messageUrl := i.ApplicationCommandData().Options[0].Value.(string);
message, err := s.ChannelMessage(i.ChannelID, strings.Split(messageUrl, "/")[len(strings.Split(messageUrl, "/")) - 1]); if strings.Contains(messageUrl, "media.discordapp.net") {
mazeFiles := message.Attachments; messageUrl = strings.Replace(messageUrl, "media.discordapp.net", "cdn.discordapp.com", 1)
re := regexp.MustCompile(`(hm=[a-f0-9]+).*`)
messageUrl = re.ReplaceAllString(messageUrl, `$1&`)
}
if err != nil { if err != nil {
fmt.Println(err) fmt.Println(err)
if !strings.Contains(messageUrl, "media") {
responseData = "You must provide a valid image! Provide the message link of a valid image."
}
} else { } else {
message, err := s.ChannelMessage(i.ChannelID, strings.Split(messageUrl, "/")[len(strings.Split(messageUrl, "/")) - 1]);
var maze getMaze.Maze var maze getMaze.Maze
if len(mazeFiles) < 1 { if strings.Contains(messageUrl, "cdn") {
if !strings.Contains(messageUrl, "media") { maze, err = getMaze.GetMaze(messageUrl)
maze, err = getMaze.GetMaze(message.Content) } else if err == nil && len(message.Attachments) < 1 {
} else { maze, err = getMaze.GetMaze(message.Content)
maze, err = getMaze.GetMaze(messageUrl) } else if err == nil {
} maze, err = getMaze.GetMaze(message.Attachments[0].URL)
} else {
maze, err = getMaze.GetMaze(mazeFiles[0].URL)
} }
if err != nil { if err != nil {
fmt.Println(err)
responseData = "You must provide a valid image! Provide the message link of a valid image." responseData = "You must provide a valid image! Provide the message link of a valid image."
} else { } else {
if (len(maze) < 1) { if (len(maze) < 1) {
@ -141,14 +143,19 @@ func Run(BotToken string) {
if (err != nil) { if (err != nil) {
s.ChannelMessageSendReply(m.ChannelID, "Please reply to a message with a maze", m.Reference()) s.ChannelMessageSendReply(m.ChannelID, "Please reply to a message with a maze", m.Reference())
} else { } else {
if (len(reply.Attachments) < 1) { messageUrl := reply.Content
s.ChannelMessageSendReply(m.ChannelID, "Reply does not contain a maze", m.Reference()) if strings.Contains(messageUrl, "media.discordapp.net") {
} else if (len(reply.Attachments) > 1) { messageUrl = strings.Replace(messageUrl, "media.discordapp.net", "cdn.discordapp.com", 1)
re := regexp.MustCompile(`(hm=[a-f0-9]+).*`)
messageUrl = re.ReplaceAllString(messageUrl, `$1&`)
}
if (len(reply.Attachments) > 1) {
s.ChannelMessageSendReply(m.ChannelID, "Too many images!", m.Reference()) s.ChannelMessageSendReply(m.ChannelID, "Too many images!", m.Reference())
} else { } else {
var maze getMaze.Maze var maze getMaze.Maze
if len(reply.Attachments) < 1 { if len(reply.Attachments) < 1 {
maze, err = getMaze.GetMaze(reply.Content) maze, err = getMaze.GetMaze(messageUrl)
} else { } else {
maze, err = getMaze.GetMaze(reply.Attachments[0].URL) maze, err = getMaze.GetMaze(reply.Attachments[0].URL)
} }