From c5015145b2e72d336dc1388445cec79b4e9d096d Mon Sep 17 00:00:00 2001 From: Logan Gartner Date: Wed, 20 Jul 2022 18:03:34 -0600 Subject: [PATCH] Added TikTok support --- messageCreate.go | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/messageCreate.go b/messageCreate.go index 4b15eb2..24f83f2 100644 --- a/messageCreate.go +++ b/messageCreate.go @@ -184,6 +184,40 @@ func messageCreate(session *discordgo.Session, message *discordgo.MessageCreate) downloadResult.Close() } + respond = true + } else if output, _ := regexp.MatchString("(http.*tiktok\\.com/\\@.*)", url); output { + log.Println("TikTok detected.") + + response.Content = response.Content + fmt.Sprintf("\n<%s>", regexp.MustCompile("http.*tiktok\\.com").ReplaceAllString(url, "https://proxitok.pussthecat.org")) + + result, err := goutubedl.New(context.Background(), url, goutubedl.Options{}) + if err != nil { + log.Println(err) + continue + } else { + choice, err := getLargestFormat(result, 8*1024*1024) + log.Printf("Choice: %s | Size: %fM\n", choice.FormatID, choice.Filesize/1024/1024) + if err == nil { + session.ChannelTyping(message.ChannelID) + downloadResult, err := result.Download(context.Background(), choice.FormatID) + if err != nil { + log.Println(err) + //session.ChannelMessageSend(message.ChannelID, err.Error()) + continue + } + + response.Files = append(response.Files, &discordgo.File { + Name: fmt.Sprintf("%s.%s", result.Info.ID, choice.Ext), + ContentType: "text/plain", // This is of course not true, but Discord doesn't give a shit + Reader: downloadResult, + }) + + defer downloadResult.Close() + } else { + log.Println(err) + } + } + respond = true } }