diff --git a/Freedomain Livestream Scheduler.ahk b/Freedomain Livestream Scheduler.ahk index 6c2c05d..dfa5001 100644 --- a/Freedomain Livestream Scheduler.ahk +++ b/Freedomain Livestream Scheduler.ahk @@ -169,12 +169,15 @@ ButtonHeights := 30 ThumbnailPreviewWidth := 200 -GuiHeight := 550 +GuiHeight := 440 ; Column One ColumnOneWidth := 500 ColumnOneEditBoxWidth := ColumnOneWidth - (MarginSize * 2) +ColumnOneEditBoxHalfWidth := (ColumnOneEditBoxWidth / 2) + 5 + + GuiFontSize = 15 ; Column Two @@ -200,27 +203,43 @@ Gui, Font, s%GuiFontSize% Gui, Font, Bold +Gui, Font, s8 Gui, Add, Text,, Title Gui, Font, Normal +Gui, Font, s%GuiFontSize% Gui, Add, Edit,w%ColumnOneEditBoxWidth% vLivestreamTitle, %LivestreamTitle% Gui, Font, Bold +Gui, Font, s8 Gui, Add, Text,, Description Gui, Font, Normal +Gui, Font, s%GuiFontSize% Gui, Add, Edit,w%ColumnOneEditBoxWidth% h150 vLivestreamDescription, %LivestreamDescription% Gui, Font, Bold +Gui, Font, s8 Gui, Add, Text,, Tags (Comma Seperated) Gui, Font, Normal +Gui, Font, s%GuiFontSize% Gui, Add, Edit,w%ColumnOneEditBoxWidth% vLivestreamTags, %LivestreamTags% + Gui, Font, Bold +Gui, Font, s8 Gui, Add, Text,, Thumbnail -Gui, Font, Normal Gui, Add, Button, x+%MarginSize% yp-3 gSelectThumbnail, Select +Gui, Font, Normal +Gui, Font, s%GuiFontSize% Gui, Add, Picture, x%MarginSize% w%ThumbnailPreviewWidth% h-1 vThumbnailPreview, %LivestreamThumbnail% +Gui, Font, Bold +Gui, Font, S10 +Gui, Add, Button, x%ColumnOneEditBoxHalfWidth% yp-%marginsize% w%ColumnOneEditBoxHalfWidth% h40 gSaveAsTemplate, Save As Template +Gui, Add, Button,gSchedulePost w%ColumnOneEditBoxHalfWidth% gLoadTemplate h40 , Load Template + + +; Gui, Add, Button, yp+0 x%ColumnOneEditBoxHalfWidth% w%ColumnOneEditBoxHalfWidth%, Text button here ; Gui, Add, Edit,w%ColumnOneEditBoxWidth% h150 vLivestreamDescription, This livestream is happening soon! @@ -269,19 +288,15 @@ Gui, Font, Normal Gui, Add, Checkbox,checked vOdysee, Odysee -Gui, Add, Checkbox,checked vLocals, Locals -Gui, Add, Checkbox,checked vRumble, Rumble - - -Gui, Font, Bold +Gui, Add, Checkbox, x+%marginSize% yp+0 checked vLocals, Locals +Gui, Add, Checkbox,x%ColumnTwoXPosition% y+%marginsize% checked vRumble, Rumble +Gui, Font, S8 +Gui, Add, Checkbox, x+10 yp+5 Checked vInputRumbleCustomRTMP, Input RTMP -Gui, Font, S10 -Gui, Add, Button,gSchedulePost w%ColumnTwoEditBoxWidth% gSaveAsTemplate y+%marginsize%, Save as Template -Gui, Add, Button,gSchedulePost w%ColumnTwoEditBoxWidth% gLoadTemplate, Load Template Gui, Font, s15 -Gui, Add, Button,gSchedulePost w%ColumnTwoEditBoxWidth% h40, Schedule -Gui, Font, Normal +Gui, Add, Button, x%ColumnTwoXPosition% y+%marginsizeDoubled% gSchedulePost w%ColumnTwoEditBoxWidth% h40, Schedule +; Gui, Font, Normal Gui, Show, h%GuiHeight%, %FullScriptName% @@ -416,6 +431,10 @@ if(Rumble) gosub, RumbleSchedule +if(InputRumbleCustomRTMP){ + gosub, RumbleSetRTMP +} + ; msgbox, done! ; Gui, Add, @@ -464,10 +483,16 @@ Gui, Add, Button, x%MarginSize% y+10 h%ResultButtonHeights% w%ResultButtonWidth% Gui, Add, Edit, x+5 yp+0 h%ResultButtonHeights% w%ResultButtonEditWidth% vRumbleLivestreamURL center, %RumbleLivestreamURL% -Gui, Add, Button, x%MarginSize% gResultsGUIAction h%ResultButtonHeights% w%ResultButtonEditWidth%,Copy Title +Gui, Add, Button, x%MarginSize% y+50 gResultsGUIAction h%ResultButtonHeights% w%ResultButtonEditWidth%,Copy Title Gui, Add, Button, x+%marginsize% gResultsGUIAction h%ResultButtonHeights% w%ResultButtonEditWidth%,Copy Description Gui, Add, Button, x%MarginSize% h%ResultButtonHeights% w%ResultButtonEditWidth%, Gui, Add, Button, x+%marginsize% gRetryUpload h%ResultButtonHeights% w%ResultButtonEditWidth%,Try Failed Again + +Gui, Font, s8 +Gui, Font, Normal +Gui, Add, Button, y%MarginSize% w%ResultButtonEditWidth% Center, Error Log +Gui, Add, Edit, y+5 h300 w%ResultButtonEditWidth%, %ErrorLogVar% + ; Gui, Add, Button, x%MarginSize% gRetryUpload h%ResultButtonHeights% w%ResultButtonEditWidth%,Try Failed Again Gui, Show @@ -535,6 +560,10 @@ Return #Include %A_ScriptDir%\Modules\Odysee-Schedule.ahk #Include %A_ScriptDir%\Modules\Odysee-Grab-URL.ahk #Include %A_ScriptDir%\Modules\Rumble-Schedule.ahk +#Include %A_ScriptDir%\Modules\Rumble-Set-RTMP.ahk + + + #Include %A_ScriptDir%\Lib\Freedomain-Posters-Shared-Functions\Update-Functions.ahk diff --git a/Modules/Rumble-Set-RTMP.ahk b/Modules/Rumble-Set-RTMP.ahk new file mode 100644 index 0000000..e8eb367 --- /dev/null +++ b/Modules/Rumble-Set-RTMP.ahk @@ -0,0 +1,73 @@ +RumbleSetRTMP: +;------------------------------------------------ + + +CurrentSite := "Rumble Studio" +Message = Inputting Custom RTMP Settings into Rumble Studio +SaveOrPostProgress(Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging") + +Status := NavigateFromBaseURLTo("https://studio.rumble.com/settings/connections") +if(Status) +Return + +try driver.executeScript("return document.readyState").equals("complete") ; wait until page loads completely before proceeding + +CheckForAlerts() + + + +IniRead, LocalsRTMPURL, %PostStatusesFilepath%, Livestream,LocalsRTMPURL, %A_Space% +IniRead, LocalsRTMPKey, %PostStatusesFilepath%, Livestream,LocalsRTMPKey, %A_Space% + +if(LocalsRTMPURL = ""){ + Message = Skipping. No LocalsRTMPURL in Status.ini file + SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") + Return +} + +Loop, 10 { + + ; IndexPlusOne := A_index + 1 + IndexMinusOne := A_index - 1 + Xpath = (//div[@class='flex shrink-0 items-center gap-x-4'])[%A_index%] + XpathCheckbox = (//img[@alt='More options'])[%IndexMinusOne%] + + + try SecondaryPlatformCheckboxName := driver.findelementbyxpath(Xpath).Attribute("innerText") ;XPATH Inner Text + + ; Msgbox % "SecondaryPlatformCheckboxName: " SecondaryPlatformCheckboxName + + if(SecondaryPlatformCheckboxName = "LOCALS RTMP USE"){ + Status := Selenium_LoopToClickXpath(Xpath:=XpathCheckbox,NumOfLoops:=2,SleepLength:=1000) + if(Status){ + Message = Failed to click into 3 dot menu for -LOCALS RTMP USE- + SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") + } + + ; click Edit RTMP in the popup menu + Xpath = (//span[normalize-space()='Edit RTMP'])[1] + Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000) + if(Status){ + Message = Failed to click into 3 dot menu for -LOCALS RTMP USE- + SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") + } + + + ; Input New RTMP Info + XpathRTMP = (//input[@placeholder='Enter the RTMP URL'])[1] + XpathStreamkey = (//input[@placeholder='Enter the stream key'])[1] + + Status := Selenium_LoopToSendValueToXpath(Xpath:=XpathRTMP,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=LocalsRTMPURL) + Status := Selenium_LoopToSendValueToXpath(Xpath:=XpathStreamkey,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=LocalsRTMPKey) + + ; click save button + Xpath = (//button[@class='rounded-full px-6 py-2 bg-primary/50 pointer-events-none'])[1] + Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000) + if(Status){ + Message = Failed to Click Save Button + SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging") + Return + } + + } +} \ No newline at end of file