From 55c3841768a746c37b2ff1677e0e95b6d25e7473 Mon Sep 17 00:00:00 2001 From: Zjamnik Date: Sat, 21 Feb 2026 00:12:59 +0100 Subject: [PATCH] autouploader for steelseries moments --- .gitignore | 3 +- ZiplineUploader.ahk | 5 ++-- momentsTrimAutoUploader.ahk | 59 +++++++++++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+), 4 deletions(-) create mode 100644 momentsTrimAutoUploader.ahk diff --git a/.gitignore b/.gitignore index 77b3ac2..4fc558a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -token.txt \ No newline at end of file +token.txt +trimUploader.ini \ No newline at end of file diff --git a/ZiplineUploader.ahk b/ZiplineUploader.ahk index 0fd60ac..6f8d3db 100644 --- a/ZiplineUploader.ahk +++ b/ZiplineUploader.ahk @@ -111,13 +111,12 @@ for fil in files { ; Extract URL from JSON if RegExMatch(output, '"url":"(.*?)"', &m) { url := m[1] + uploadedURLs .= url "`n" + uploadedFiles++ } else { MsgBox "Failed to extract URL.`nResponse:`n" output ExitApp } - - uploadedURLs .= url "`n" - uploadedFiles++ } ; Copy to clipboard diff --git a/momentsTrimAutoUploader.ahk b/momentsTrimAutoUploader.ahk new file mode 100644 index 0000000..76c4ac0 --- /dev/null +++ b/momentsTrimAutoUploader.ahk @@ -0,0 +1,59 @@ +#Requires AutoHotkey v2.0 + +momentsPath := IniRead("trimUploader.ini", "location", "path", "") +if (momentsPath = "") { + momentsPath := DirSelect() +} +trimPattern := IniRead("trimUploader.ini", "location", "trimPattern", "*_trim.mp4") +ziplineURL := IniRead("trimUploader.ini", "location", "ziplineURL", "PROVIDE ZIPLINE URL") +ziplineFolder := IniRead("trimUploader.ini", "location", "ziplineFolder", "PROVIDE FOLDER ID") +ziplineToken := IniRead("trimUploader.ini", "location", "ziplineToken", "PROVIDE ZIPLINE TOKEN") + +IniWrite(momentsPath, "trimUploader.ini", "location", "path") +IniWrite(trimPattern, "trimUploader.ini", "location", "trimPattern") +IniWrite(ziplineURL, "trimUploader.ini", "location", "ziplineURL") +IniWrite(ziplineFolder, "trimUploader.ini", "location", "ziplineFolder") +IniWrite(ziplineToken, "trimUploader.ini", "location", "ziplineToken") + +loop { + uploadedURLs := "" + uploadedFiles := 0 + Loop Files momentsPath "\" trimPattern, "F" { + + ; Build curl command + cmd := 'curl -s -H "Authorization: ' ziplineToken '" ' + cmd .= '-H "x-zipline-original-name: true" ' + cmd .= '-H "x-zipline-folder: ' ziplineFolder '" ' + cmd .= '-F "file=@' A_LoopFileFullPath ';type=video/mp4" ' + cmd .= '-F "filename=' A_LoopFileName '" ' + cmd .= '"' ZiplineURL '/api/upload"' + + ; MsgBox(cmd) + + ; Run curl and capture output + RunWait(A_ComSpec " /c " cmd " | clip", , "Hide") + output := A_Clipboard + + ; Extract URL from JSON + if RegExMatch(output, '"url":"(.*?)"', &m) { + url := m[1] + uploadedURLs .= url "`n" + uploadedFiles++ + FileDelete(A_LoopFileFullPath) + + try { + } catch Error { + + } + } else { + MsgBox "Failed to extract URL.`nResponse:`n" output + } + } + + if ( not uploadedURLs = "") { + A_Clipboard := uploadedURLs + TrayTip "Zipline Upload", "Uploaded " uploadedFiles " file(s)", 1 + } + + Sleep(5000) +} \ No newline at end of file