@ -29,7 +29,7 @@ global ScriptVersion
global FullScriptName
global FullScriptName
ScriptName = Freedomain Video Uploader
ScriptName = Freedomain Video Uploader
ScriptVersion = 2.98
ScriptVersion = 2.99
FullScriptName := ScriptName . " - " . ScriptVersion
FullScriptName := ScriptName . " - " . ScriptVersion
@ -177,10 +177,10 @@ if(DiscordUsernameID = ""){
;---Auto Updater Settings---
;---Auto Updater Settings---
;------------------------------------------------
;------------------------------------------------
global GitReleasesAPIURL
global GitReleasesAPIURL
GitReleasesAPIURL = https://git.zinchuk.xyz/api/v1/repos/yuriy/Freedomain-Social-Media-Post er/releases
GitReleasesAPIURL = https://git.zinchuk.xyz/api/v1/repos/yuriy/Freedomain-Video-Upload er/releases
global GitReleasesLBRYKillerAPIURL
global GitReleasesLBRYKillerAPIURL
GitReleasesAPIURL = https://git.zinchuk.xyz/api/v1/repos/yuriy/LBRY-Process-Killer/releases
GitReleasesLBRYKiller APIURL = https://git.zinchuk.xyz/api/v1/repos/yuriy/LBRY-Process-Killer/releases
@ -211,8 +211,34 @@ if(PassedParameter = "ShowResults"){
IniRead, PassedParameter, %SettingsIniFilepath%, %ScriptSettingsSection%, LastPost, %A_Space%
IniRead, PassedParameter, %SettingsIniFilepath%, %ScriptSettingsSection%, LastPost, %A_Space%
}
}
; if passed argument is .exe file, then script has just been udpated and we need to move the old version
if(InStr(PassedParameter,ScriptName) and InStr(PassedParameter,".exe")){
; create backups folder if it doesn't exist
BackupsFolder = %LibFolder%\Backups\
; Msgbox % "BackupsFolder: " BackupsFolder
if(!FileExist(BackupsFolder)){
FileCreateDir, %BackupsFolder%
}
; move old version to backups folder, overwrite if name conflict
FileMove, %PassedParameter%, %BackupsFolder%\*, 1
if(ErrorLevel){ ; most likely because the old version hasn't finished exiting yet
SaveOrPostProgress(Message:="Starting Up: Moving Old Version",PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar")
sleep, 2000
FileMove, %PassedParameter%, %BackupsFolder%\*, 1
if(ErrorLevel){
MsgBox,,Update Successful, Update was successful`, but unable to move old version to the Backups folder.`nPlease move it or delete it manually.
}
ToolTip
}
}
PassedParameterLength := StrLen(PassedParameter)
PassedParameterLength := StrLen(PassedParameter)
if(PassedParameterLength < 5){
if(PassedParameterLength < 5 and !InStr(PassedParameter, ".exe") ){
FileSelectFile, BodyTextFilePath,,%RootDirToStartIn%,Please Select ANY File Within the Project Folder
FileSelectFile, BodyTextFilePath,,%RootDirToStartIn%,Please Select ANY File Within the Project Folder
if(ErrorLevel)
if(ErrorLevel)
Return
Return
@ -751,7 +777,8 @@ IniWrite, %BodyTextFilePath%, %SettingsIniFilepath%, %ScriptSettingsSection%, La
if(AutoUpdateCheck AND !UpdateAvailable And !SkipUpdateCheckThisRun){
if(AutoUpdateCheck AND !UpdateAvailable And !SkipUpdateCheckThisRun){
; msgbox, checkin for update
; msgbox, checkin for update
; CheckForUpdates()
; DevModeMsgBox(GitReleasesAPIURL)
CheckForUpdates(GitReleasesAPIURL)
}
}
Return
Return
@ -1093,6 +1120,7 @@ JSVideoTitle := FormatTextToJSText(VideoTitle)
; Create an array out of the keywords to be used in different places
; Create an array out of the keywords to be used in different places
VideoTags := StrReplace(VideoTags, ", ",",")
VideoTags := StrReplace(VideoTags, ", ",",")
VideoTags := StrReplace(VideoTags, " ,",",")
VideoTags := StrReplace(VideoTags, " ,",",")
VideoTags := StrReplace(VideoTags, " ",",")
KeywordsArray := StrSplit(VideoTags,",")
KeywordsArray := StrSplit(VideoTags,",")
@ -1337,7 +1365,7 @@ Gui, Font, Normal
Gui, Add, Edit, x+5 yp+0 h%ButtonHeights% vLocalsURL w%ResultEditBoxWidths% gUpdateVars, %LocalsURL%
Gui, Add, Edit, x+5 yp+0 h%ButtonHeights% vLocalsURL w%ResultEditBoxWidths% gUpdateVars, %LocalsURL%
Gui, Font, Bold
Gui, Font, Bold
Gui, Add, Button, x10 y+10 h%ButtonHeights% w%CopyButtonWidths% gCopyVideoTags, Video Tags
Gui, Add, Button, x10 y+10 h%ButtonHeights% w%CopyButtonWidths% gCopyVideoTags, Video Tags)
Gui, Font, Normal
Gui, Font, Normal
Gui, Add, Edit, x+5 yp+0 h%ButtonHeights% vVideoTags w%ResultEditBoxWidths% gUpdateVars , %VideoTags%
Gui, Add, Edit, x+5 yp+0 h%ButtonHeights% vVideoTags w%ResultEditBoxWidths% gUpdateVars , %VideoTags%
@ -2170,6 +2198,7 @@ Return
LocalsUpload:
LocalsUpload:
CurrentSite := "Locals"
CurrentSite := "Locals"
SaveOrPostProgress(Message:="Navigating to Post Creation Page",PostType:="Tooltip,ErrorLoggingTextFile")
SaveOrPostProgress(Message:="Navigating to Post Creation Page",PostType:="Tooltip,ErrorLoggingTextFile")
; SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile")
; SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile")
@ -2180,10 +2209,30 @@ if(LocalsPostPageURL = ""){
Return
Return
}
}
if(!InStr(LocalsPostPageURL, "/share/post")){
LocalsPostPageURL .= "/share/post"
}
; replace any double slashes that migth have come from the combining
LocalsPostPageURL := StrReplace(LocalsPostPageURL, "//", "/")
Status := NavigateFromBaseURLTo(LocalsPostPageURL)
Status := NavigateFromBaseURLTo(LocalsPostPageURL)
if(Status = "Failed")
if(Status = "Failed")
Return
Return
/*
if(DevMode){
MsgBox 0x4, DevMode Skip, Skip uploading section and skip straight to grab URL?
IfMsgBox Yes, {
goto, Devmodeskip
} Else IfMsgBox No, {
}
}
*/
Message = Waiting for Page to fully load
Message = Waiting for Page to fully load
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile")
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile")
@ -2205,14 +2254,8 @@ if(Status){
}
}
}
}
Xpath = //div[@class='uploadvideo-wrapper']//input[@name='Filedata']
Message = Inputting Title
Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=VideoFilepath)
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile")
if(Status){
Message = Failed to Upload Video
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
Return
}
Xpath = //input[@id='title']
Xpath = //input[@id='title']
Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=5,SleepLength:=1000,StringTextContent:=VideoTitle)
Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=5,SleepLength:=1000,StringTextContent:=VideoTitle)
@ -2221,6 +2264,8 @@ if(Status){
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
}
}
sleep, 1000
/*Xpath = //textarea[@id='body']
/*Xpath = //textarea[@id='body']
Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=5,SleepLength:=1000,StringTextContent:=VideoDescription)
Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=5,SleepLength:=1000,StringTextContent:=VideoDescription)
if(Status){
if(Status){
@ -2231,7 +2276,7 @@ if(Status){
; Input Description
; Input Description
Loop, 5 { ; Attempt to input video description a couple of times
Loop, 5 { ; Attempt to input video description a couple of times
TooltipThis("Inputting Description `nAttempt Number: " A_index )
TooltipThis("Inputting Description")
if(A_index = 5){
if(A_index = 5){
Clipboard := VideoDescription
Clipboard := VideoDescription
@ -2259,6 +2304,90 @@ Loop, 5 { ; Attempt to input video description a couple of times
}
}
SaveOrPostProgress(Message:="Waiting Video to finish uploading",PostType:="Tooltip,ErrorLoggingTextFile")
SaveOrPostProgress(Message:="Waiting Video to finish uploading",PostType:="Tooltip,ErrorLoggingTextFile")
Message = Uploading Video File
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile")
Xpath = //div[@class='uploadvideo-wrapper']//input[@name='Filedata']
Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=VideoFilepath)
if(Status){
Message = Failed to Upload Video
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
Return
}
; check if the "Auto Submit Post" checkbox is checked, and if not check it
js = return document.querySelector("#autosubmit_enabled").checked;
try AutoSubmitstatus := driver.executeScript(js)
; DevModeMsgBox(status)
message = AutoSubmitstatus: %AutoSubmitstatus%
; DevModeMsgBox(message)
if(AutoSubmitstatus = "0"){
js = document.querySelector("li[id='autosubmit_container'] small").click() ; ; CHECK YES
try driver.executeScript(js) ; DevModeMsgBox(status)
; double check that it got selected
js = return document.querySelector("#autosubmit_enabled").checked;
try AutoSubmitstatus := driver.executeScript(js)
Message = AutoSubmitstatus after clicking checkbox: %AutoSubmitstatus%
DevModeMsgBox(message)
if(AutoSubmitstatus != "-1"){
Message = Failed to check Auto-Submit Post checkbox
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
SaveDriverURLOFErrorPage()
Return
; SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
}
}
DevModeMsgBox("autosubmit status -1 string here")
; msgbox % AutoSubmitstatus = "-1"
if(AutoSubmitstatus = "-1"){ ; if checked YES
; check that there are no error messages
js = return document.querySelector("div[class='form-error']").textContent;
try status := driver.executeScript(js)
; DevModeMsgBox(status)
if(status){ ;if element contains error text
Message = Auto Publish failed: %status%
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
SaveDriverURLOFErrorPage()
Return
}
if(VideoThumbFilepath){
Message = Uploading Thumbnail
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile")
Xpath = //div[contains(@class,'post-video-attachments post-video-attachments_upd')]//div[contains(@class,'uploadfile-wrapper')]//input[contains(@name,'Filedata')]
Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=VideoThumbFilepath)
if(Status){
Message = Failed to Attach Thumbnail
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
Return
}
}
; otherwise everything is good and we can move on to the next site and come back to grab the URL later
; LocalsURL := "UploadedButNeedToGrabLink"
; Return
Message = Upload Started Successfully
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
LocalsURL := "UploadStartedButNeedToGrabURL"
IniWrite, %LocalsURL%, %VideoLinksIniFile%, URLs, LocalsURL
AddToTotalVideosUploadedCount()
; LocalsTabURL := SaveDriverURL()
Return
}
; Xpath = //div[@class='uppy-StatusBar-statusPrimary']
; Xpath = //div[@class='uppy-StatusBar-statusPrimary']
@ -2360,7 +2489,11 @@ Loop, %Number_of_loops_to_Check_Upload_status% {
js = document.getElementsByName('submitPost')[0].click();
js = document.getElementsByName('submitPost')[0].click();
try driver.executeScript(js)
try driver.executeScript(js)
sleep, %TimeBetweenPosts%
Message = Waiting 5 seconds for Video to Get Processed
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile")
sleep, 5000
try currentpage := driver.url
try currentpage := driver.url
if(CUrrentpage = LocalsPostPageURL){
if(CUrrentpage = LocalsPostPageURL){
@ -2369,13 +2502,33 @@ Loop, %Number_of_loops_to_Check_Upload_status% {
Return
Return
}
}
; sleep, 500
; sleep, 500
ToolTip
; ToolTip
; AddToTotalPostsPostedCount()
; AddToTotalPostsPostedCount()
Devmodeskip:
Message = Trying to Grab Share Link
Message = Trying to Grab Share Link
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
; Get First word in video title
; refresh page
try driver.executeScript("history.go(0)")
try driver.executeScript("return document.readyState").equals("complete") ; wait until page loads completely before proceeding
; check for "Retrieve Draft button"
js = return document.querySelector("a[class='btn']").innerText;
try, status := driver.executeScript(js)
if(status = "Retrieve Draft"){
Message = Video was uploaded but Locals saved it as a draft instead of instantly publishing it. Please go to the Locals Page and Retrieve Draft and manually Publish it.
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
SaveDriverURLOFErrorPage()
Return
}
; Get word that's longer than 4 characters in video title
VideoTitleArray := StrSplit(VideoTitle, " ")
VideoTitleArray := StrSplit(VideoTitle, " ")
; Iterate from 1 to the end of the array:
; Iterate from 1 to the end of the array:
Loop % VideoTitleArray.Length(){
Loop % VideoTitleArray.Length(){
@ -2388,8 +2541,10 @@ Loop, %Number_of_loops_to_Check_Upload_status% {
}
}
Message = VideoTitleFirstWord: %VideoTitleFirstWord%
; DevModeMsgBox(VideoTitleFirstWord)
SaveOrPostProgress(Message:=Message,PostType:=",ErrorLoggingTextFile")
; Message = VideoTitleFirstWord: %VideoTitleFirstWord%
; SaveOrPostProgress(Message:=Message,PostType:=",ErrorLoggingTextFile")
; VideoTitleFirstWord := VideoTitleFirstWord[1]
; VideoTitleFirstWord := VideoTitleFirstWord[1]
; Msgbox % "VideoTitleFirstWord: " VideoTitleFirstWord
; Msgbox % "VideoTitleFirstWord: " VideoTitleFirstWord
@ -2406,38 +2561,53 @@ Loop, %Number_of_loops_to_Check_Upload_status% {
LocalsBaseURL := StrReplace(LocalsURL, "/share/post")
LocalsBaseURL := StrReplace(LocalsURL, "/share/post", "" )
; Msgbox % "LocalsPostPageURL: " LocalsPostPageURL
; Msgbox % "LocalsPostPageURL: " LocalsPostPageURL
; Msgbox % "LocalsURL: " LocalsURL
; Msgbox % "LocalsURL: " LocalsURL
; Msgbox % "LocalsBaseURL: " LocalsBaseURL
; Msgbox % "LocalsBaseURL: " LocalsBaseURL
loop, 3 {
loop, 5 {
ElementIndexNum := A_index - 1
ElementIndexNum := A_index - 1
DevModeMsgBox(ElementIndexNum)
; Msgbox % "ElementIndexNum: " ElementIndexNum
; Msgbox % "ElementIndexNum: " ElementIndexNum
jscheck = return document.getElementsByClassName('post-bottom')[%ElementIndexNum%].outerHTML;
jscheck = return document.getElementsByClassName('post-bottom')[%ElementIndexNum%].outerHTML;
try outerHTML := driver.executeScript(jsCheck)
try outerHTML := driver.executeScript(jsCheck)
; Clipboard := outerHTML
; Clipboard := outerHTML
; DevModeMsgBox(outerHTML)
; msgbox % "outerHTML: " . outerHTML
; msgbox % "outerHTML: " . outerHTML
if(InStr(OuterHTML,VideoTitleFirstWord)){
if(InStr(OuterHTML,VideoTitleFirstWord)){
Message = %VideoTitleFirstWord% is in %OuterHTML%
; DevModeMsgBox(Message)
; MsgBox, found match at %A_index%
; MsgBox, found match at %A_index%
ShareLink := StrSplit(OuterHTML, LocalsPostPageURL)
ShareLink := StrSplit(OuterHTML, "data-url=")
ShareLink := ShareLink[2]
ShareLink := ShareLink[2]
; DevModeMsgBox(ShareLink)
; Msgbox % "ShareLink: " ShareLink
; Msgbox % "ShareLink: " ShareLink
ShareLink := StrSplit(ShareLink, " class")
ShareLink := ShareLink[1]
URLEndString = ">
; Msgbox % "ShareLink: " ShareLink
ShareLink := StrSplit(ShareLink, URLEndString)
ShareLink := LocalsPostPageURL . ShareLink
; ShareLink := ShareLink[1]
ShareLink := StrReplace(ShareLink, """", "")
ShareLink := StrReplace(ShareLink, "#comments", "")
QuotationMark = "
; Msgbox % "ShareLink: " ShareLink
ShareLink := StrReplace(ShareLink,QuotationMark, "")
Break
Break
}
}
ShareLink :=
ShareLink :=
}
}
DevModeMsgBox(ShareLink)
; ShareLink := "Successful"
; ShareLink := "Successful"
@ -3021,6 +3191,7 @@ if(InStr(CurrentTab, "login")) ; we're logged out
; Keywords (Tags)
; Keywords (Tags)
; DevModeMsgBox(VideoTags)
TooltipThis("Inputting Keywords")
TooltipThis("Inputting Keywords")
XPath = //input[@id='keywords']
XPath = //input[@id='keywords']
try driver.FindElementByXPath(Xpath).SendKeys(VideoTags) ;Sends Variable to an Xpath Item
try driver.FindElementByXPath(Xpath).SendKeys(VideoTags) ;Sends Variable to an Xpath Item
@ -3266,6 +3437,36 @@ if(Status){
; try driver.executeScript(js) ;Executes a Javascript on the webpage, mostly used for buttons.
; try driver.executeScript(js) ;Executes a Javascript on the webpage, mostly used for buttons.
; try driver.findElementsByName("title").item[1].clear()
; try driver.findElementsByName("title").item[1].clear()
Message = Inputting Title
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile")
loop, 5 { ; sometimes the pre-inserted title doesn't get cleaned out when inputting title
if(A_index = 5){
Message = Failed to input title after 5 attempts.
; SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
; Return
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
SaveDriverURLOFErrorPage()
Return
}
Xpath = (//input[@placeholder='Enter text'])[1]
try, driver.FindElementByXPath(Xpath).click()
js = document.querySelector("input[placeholder='Enter text']").value = "%JSVideoTitle%";
try driver.executeScript(js)
Xpath = (//input[@placeholder='Enter text'])[1]
try driver.FindElementByXPath(Xpath).SendKeys(driver.Keys.SPACE)
try driver.FindElementByXPath(Xpath).SendKeys(driver.Keys.BackSpace)
/*
Status := Selenium_LoopToSendValueByName(ElementName:="title",NumOfLoops:=2,SleepLength:=1000,StringTextContent:=VideoTitle)
Status := Selenium_LoopToSendValueByName(ElementName:="title",NumOfLoops:=2,SleepLength:=1000,StringTextContent:=VideoTitle)
if(Status){
if(Status){
Message = Upload Failed: Check Login Status: Failed to Input Title
Message = Upload Failed: Check Login Status: Failed to Input Title
@ -3274,6 +3475,30 @@ if(Status){
Return
Return
}
}
*/
; get text in title box and see if it matches video title
js = return document.querySelector("input[placeholder='Enter text']").value;
try CurrentTitle := driver.executeScript(js)
; Msgbox % "CurrentTitle: " CurrentTitle
if(CurrentTitle != VideoTitle){
Message = Failed to input title on attempt %A_index%
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
sleep, 1000
; DevModeMsgBox("title doesn't match")
; msgbox, title doesn't match
; continue
}
else,
Break
}
; Make a couple attempts to Click on Drop down menu and select the "Education" Category
; Make a couple attempts to Click on Drop down menu and select the "Education" Category
TooltipThis("Selecting Education Category")
TooltipThis("Selecting Education Category")
@ -3450,8 +3675,14 @@ if(StrLen(DailyMotionJSDescription) > 3000){
; Input Video Description
; Input Video Description
Message = Inputting Video Description
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile")
Loop, 15 { ; make a couple attempts to input description
Loop, 15 { ; make a couple attempts to input description
TooltipThis("Inputting Video Description`nMight take a couple of attempts due to DailyMotion's code`nAttempt Number:" A_index)
Message = Video Description Input Attempt Number: %A_index%
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile")
; TooltipThis("Inputting Video Description")
try driver.findElementsByName("description").item[1].SendKeys(driver.Keys.Space) ; send an ENTER keystroke to make it register that data has been input and refresh
try driver.findElementsByName("description").item[1].SendKeys(driver.Keys.Space) ; send an ENTER keystroke to make it register that data has been input and refresh
sleep, 500
sleep, 500
@ -3460,10 +3691,10 @@ Loop, 15 { ; make a couple attempts to input description
; try driver.findElementsByName("description").item[1].SendKeys(driver.Keys.SPACE) ;;Clicks Item based on the Element Name
; try driver.findElementsByName("description").item[1].SendKeys(driver.Keys.SPACE) ;;Clicks Item based on the Element Name
js = document.getElementsByName('description')[0] .value = "%JSVideoDescription%";
js = document.querySelector("textarea[placeholder='Enter a description']") .value = "%JSVideoDescription%";
try driver.executeScript(js)
try driver.executeScript(js)
try driver.findElementsByName("description").item[1].SendKeys(driver.Keys.Space) ; send an ENTER keystroke to make it register that data has been input and refresh
; try driver.findElementsByName("description").item[1].SendKeys(driver.Keys.Space) ; send an ENTER keystroke to make it register that data has been input and refresh
sleep, 15000 ; Description dissapears for some reason instantly after inputting sometimes
sleep, 15000 ; Description dissapears for some reason instantly after inputting sometimes
try Description := driver.findElementsByName("description").item[1].Attribute("value")
try Description := driver.findElementsByName("description").item[1].Attribute("value")
@ -3488,7 +3719,7 @@ Loop, 15 { ; make a couple attempts to input description
}
}
}
}
; DevModeMsgBox("done")
/*
/*
; Input Video Description
; Input Video Description
@ -4005,14 +4236,14 @@ Loop, %Number_of_loops_to_Check_Upload_status% {
; If LBRY Killer not found, then download it
; If LBRY Killer not found, then download it
; @todo: Add LBRY kill download functionality from gitea
; @todo: Add LBRY kill download functionality from gitea
/*
LBRYKillerPath := LibFolder . "\LBRY Process Killer.exe"
LBRYKillerPath := LibFolder . "\LBRY Process Killer.exe"
if(!FileExist(LBRYKillerPath)){
if(!FileExist(LBRYKillerPath)){
; Msgbox % "LBRYKillerPath: " LBRYKillerPath
; Msgbox % "LBRYKillerPath: " LBRYKillerPath
; Msgbox % "LBRYProcessKillerURL: " LBRYProcessKillerURL
; Msgbox % "LBRYProcessKillerURL: " LBRYProcessKillerURL
LBRYKillerPath = %A_ScriptDir%\Lib\LBRY Process Killer.exe
LBRYKillerPath = %A_ScriptDir%\Lib\LBRY Process Killer.exe
LBRYKillerUpdateURL = https://freedomainplaylists.com/wp-content/FreedomainScripts/LBRY`%20Process`%20Killer.exe
LBRYKillerUpdateURL = https://git.zinchuk.xyz/attachments/7865dc8d-5aad-4f9f-8a30-94bab0192b1d
UrlDownloadToFile, %LBRYKillerUpdateURL%, %LBRYKillerPath%
UrlDownloadToFile, %LBRYKillerUpdateURL%, %LBRYKillerPath%
; msgbox, work?
; msgbox, work?
@ -4021,7 +4252,7 @@ Loop, %Number_of_loops_to_Check_Upload_status% {
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
}
}
*/
TooltipThis("Uploading Video through API")
TooltipThis("Uploading Video through API")
; Variables of items that need to be replaced before argument is passed to API
; Variables of items that need to be replaced before argument is passed to API