rumble functionality, bug fixes, gui improvements
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -22,3 +22,4 @@ Freedomain Video Uploader.exe
|
|||||||
Lib/LBRY Process Killer.exe
|
Lib/LBRY Process Killer.exe
|
||||||
Lib/chrome-win64
|
Lib/chrome-win64
|
||||||
Lib/Version.ini
|
Lib/Version.ini
|
||||||
|
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ CheckIfUpdateInstalled(PassedInArgument)
|
|||||||
#include %A_ScriptDir%\Lib\Freedomain-Posters-Shared-Functions\Zip.ahk
|
#include %A_ScriptDir%\Lib\Freedomain-Posters-Shared-Functions\Zip.ahk
|
||||||
#include %A_ScriptDir%\Lib\Freedomain-Posters-Shared-Functions\URLDownloadToVar.ahk
|
#include %A_ScriptDir%\Lib\Freedomain-Posters-Shared-Functions\URLDownloadToVar.ahk
|
||||||
#Include %A_ScriptDir%\Lib\Freedomain-Posters-Shared-Functions\Miscellaneous-Functions.ahk
|
#Include %A_ScriptDir%\Lib\Freedomain-Posters-Shared-Functions\Miscellaneous-Functions.ahk
|
||||||
|
#Include %A_ScriptDir%\Lib\Freedomain-Posters-Shared-Functions\LBRY-Functions.ahk
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -163,23 +164,23 @@ ButtonHeights := 30
|
|||||||
|
|
||||||
ThumbnailPreviewWidth := 200
|
ThumbnailPreviewWidth := 200
|
||||||
|
|
||||||
GuiHeight := 450
|
GuiHeight := 550
|
||||||
|
|
||||||
; Column One
|
; Column One
|
||||||
ColumnOneWidth := 400
|
ColumnOneWidth := 500
|
||||||
|
|
||||||
ColumnOneEditBoxWidth := ColumnOneWidth - (MarginSize * 2)
|
ColumnOneEditBoxWidth := ColumnOneWidth - (MarginSize * 2)
|
||||||
GuiFontSize = 10
|
GuiFontSize = 15
|
||||||
|
|
||||||
; Column Two
|
; Column Two
|
||||||
ColumnTwoXPosition := ColumnOneWidth + (MarginSize * 2)
|
ColumnTwoXPosition := ColumnOneWidth + (MarginSize * 2)
|
||||||
ColumnTwoEditBoxWidth := 200
|
ColumnTwoEditBoxWidth := 200
|
||||||
|
ColumnTwoEditBoxHalfWidth := ColumnTwoEditBoxWidth / 2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; Results Screen
|
; Results Screen
|
||||||
ResultButtonWidth := 150
|
ResultButtonWidth := 250
|
||||||
ResultButtonEditWidth := 250
|
ResultButtonEditWidth := 250
|
||||||
ResultButtonHeights := 30
|
ResultButtonHeights := 30
|
||||||
|
|
||||||
@@ -204,7 +205,7 @@ Gui, Font, Normal
|
|||||||
Gui, Add, Edit,w%ColumnOneEditBoxWidth% h150 vLivestreamDescription, %LivestreamDescription%
|
Gui, Add, Edit,w%ColumnOneEditBoxWidth% h150 vLivestreamDescription, %LivestreamDescription%
|
||||||
|
|
||||||
Gui, Font, Bold
|
Gui, Font, Bold
|
||||||
Gui, Add, Text,, Tags
|
Gui, Add, Text,, Tags (Comma Seperated)
|
||||||
Gui, Font, Normal
|
Gui, Font, Normal
|
||||||
Gui, Add, Edit,w%ColumnOneEditBoxWidth% vLivestreamTags, %LivestreamTags%
|
Gui, Add, Edit,w%ColumnOneEditBoxWidth% vLivestreamTags, %LivestreamTags%
|
||||||
|
|
||||||
@@ -229,34 +230,43 @@ Gui, Font, Bold
|
|||||||
; Gui, Add, Text, , Settings
|
; Gui, Add, Text, , Settings
|
||||||
Gui, Add, Text,y0 x%ColumnTwoXPosition%, Settings
|
Gui, Add, Text,y0 x%ColumnTwoXPosition%, Settings
|
||||||
Gui, Font, Normal
|
Gui, Font, Normal
|
||||||
|
Gui, Font, s8
|
||||||
Gui, Add, Checkbox, vConfirmBeforeSubmit checked, Confirm Before Submit
|
Gui, Add, Checkbox, vConfirmBeforeSubmit checked, Confirm Before Submit
|
||||||
|
|
||||||
|
|
||||||
Gui, Font, s%GuiFontSize%
|
Gui, Font, s%GuiFontSize%
|
||||||
Gui, Font, Bold
|
Gui, Font, Bold
|
||||||
; Gui, Add, Text, , Settings
|
; Gui, Add, Text, , Settings
|
||||||
Gui, Add, Text, y+%MarginSizeDoubled%, Date and Time of Livestream
|
Gui, Add, Text, y+%MarginSizeDoubled% , Date and Time
|
||||||
Gui, Font, Normal
|
Gui, Font, Normal
|
||||||
|
|
||||||
Gui, Add, DateTime, vLivestreamDate w%ColumnTwoEditBoxWidth%, MM/dd/yyyy
|
Gui, Add, DateTime, vLivestreamDate w%ColumnTwoEditBoxWidth%, MM/dd/yyyy
|
||||||
Gui, Add, DateTime, vLivestreamTime w%ColumnTwoEditBoxWidth% Choose200505311900, Time
|
Gui, Add, DateTime, vLivestreamTime w%ColumnTwoEditBoxWidth% Choose200505311900, Time
|
||||||
Gui, Add, Button, gSetLivestreamTimeMorning,Morning
|
Gui, Font, s8
|
||||||
Gui, Add, Button,yp+0 x+%MarginSize% gSetLivestreamTimeMorning,Evening
|
Gui, Font, Normal
|
||||||
|
Gui, Add, Button, gSetLivestreamTimeMorning yp+35 w%ColumnTwoEditBoxHalfWidth%,Morning
|
||||||
|
Gui, Add, Button,yp+0 x+0 gSetLivestreamTimeMorning w%ColumnTwoEditBoxHalfWidth%,Evening
|
||||||
|
|
||||||
|
|
||||||
|
Gui, Font, s%GuiFontSize%
|
||||||
Gui, Font, Bold
|
Gui, Font, Bold
|
||||||
Gui, Add, Text,y+%MarginSizeDoubled% x%ColumnTwoXPosition%, Platform to Schedule On
|
Gui, Add, Text,y+%MarginSizeDoubled% x%ColumnTwoXPosition%, Platforms
|
||||||
Gui, Font, Normal
|
Gui, Font, Normal
|
||||||
|
|
||||||
; Gui, Add, Checkbox,, Dlive
|
; Gui, Add, Checkbox,, Dlive
|
||||||
Gui, Add, Checkbox, checked vLocals, Locals
|
|
||||||
; Gui, Add, Checkbox,checked vOdysee, Odysee
|
|
||||||
|
Gui, Add, Checkbox, vOdysee, Odysee
|
||||||
|
Gui, Add, Checkbox, vLocals, Locals
|
||||||
|
Gui, Add, Checkbox,checked vRumble, Rumble
|
||||||
|
|
||||||
|
|
||||||
Gui, Font, Bold
|
Gui, Font, Bold
|
||||||
Gui, Add, Button,gSchedulePost w%ColumnTwoEditBoxWidth% y+50 gSaveAsTemplate, Save as Template
|
Gui, Add, Button,gSchedulePost w%ColumnTwoEditBoxWidth% gSaveAsTemplate y+50, Save as Template
|
||||||
Gui, Add, Button,gSchedulePost w%ColumnTwoEditBoxWidth% gLoadTemplate, Load Template
|
Gui, Add, Button,gSchedulePost w%ColumnTwoEditBoxWidth% gLoadTemplate, Load Template
|
||||||
|
|
||||||
Gui, Font, s15
|
Gui, Font, s15
|
||||||
Gui, Add, Button,gSchedulePost w%ColumnTwoEditBoxWidth% h40 y+50, Schedule
|
Gui, Add, Button,gSchedulePost w%ColumnTwoEditBoxWidth% h40, Schedule
|
||||||
Gui, Font, Normal
|
Gui, Font, Normal
|
||||||
|
|
||||||
Gui, Show, h%GuiHeight%
|
Gui, Show, h%GuiHeight%
|
||||||
@@ -266,7 +276,7 @@ Return
|
|||||||
|
|
||||||
SetLivestreamTimeMorning:
|
SetLivestreamTimeMorning:
|
||||||
if(A_GuiControl = "Morning")
|
if(A_GuiControl = "Morning")
|
||||||
GuiControl, , LivestreamTime, 200505311130
|
GuiControl, , LivestreamTime, 200505311100
|
||||||
if(A_GuiControl = "Evening")
|
if(A_GuiControl = "Evening")
|
||||||
GuiControl, , LivestreamTime, 200505311900
|
GuiControl, , LivestreamTime, 200505311900
|
||||||
Return
|
Return
|
||||||
@@ -339,6 +349,8 @@ Return
|
|||||||
SchedulePost:
|
SchedulePost:
|
||||||
Gui, submit, NoHide
|
Gui, submit, NoHide
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; Re-use an existing errorlog or create new directory
|
; Re-use an existing errorlog or create new directory
|
||||||
if(InStr(PassedInArgument, "\ErrorLogging\"))
|
if(InStr(PassedInArgument, "\ErrorLogging\"))
|
||||||
CreateErrorLoggingFiles(PassedInArgument)
|
CreateErrorLoggingFiles(PassedInArgument)
|
||||||
@@ -371,10 +383,16 @@ if(Locals){
|
|||||||
Gosub, LocalsSchedule
|
Gosub, LocalsSchedule
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(Rumble)
|
||||||
|
gosub, RumbleSchedule
|
||||||
|
|
||||||
|
|
||||||
; msgbox, done!
|
; msgbox, done!
|
||||||
|
|
||||||
; Gui, Add,
|
; Gui, Add,
|
||||||
|
|
||||||
|
ToolTip ; hide any existing tooltips
|
||||||
|
|
||||||
Gui, Destroy
|
Gui, Destroy
|
||||||
|
|
||||||
|
|
||||||
@@ -392,24 +410,36 @@ Gui, Destroy
|
|||||||
; ------------------------------------------------
|
; ------------------------------------------------
|
||||||
IniRead, LocalsRTMPURL, %PostStatusesFilepath%, Livestream,LocalsRTMPURL, %A_Space%
|
IniRead, LocalsRTMPURL, %PostStatusesFilepath%, Livestream,LocalsRTMPURL, %A_Space%
|
||||||
IniRead, LocalsRTMPKey, %PostStatusesFilepath%, Livestream,LocalsRTMPKey, %A_Space%
|
IniRead, LocalsRTMPKey, %PostStatusesFilepath%, Livestream,LocalsRTMPKey, %A_Space%
|
||||||
IniRead, LivestreamURL, %PostStatusesFilepath%, Livestream,LivestreamURL, %A_Space%
|
IniRead, LocalsLivestreamURL, %PostStatusesFilepath%, Livestream,LocalsLivestreamURL, %A_Space%
|
||||||
|
|
||||||
|
IniRead, OdyseeLivestreamURL, %PostStatusesFilepath%, Livestream,OdyseeLivestreamURL, %A_Space%
|
||||||
|
IniRead, RumbleLivestreamURL, %PostStatusesFilepath%, Livestream,RumbleLivestreamURL, %A_Space%
|
||||||
|
|
||||||
|
|
||||||
Gui, Font, Bold
|
Gui, Font, Bold
|
||||||
Gui, Font, s%GuiFontSize%
|
Gui, Font, s%GuiFontSize%
|
||||||
|
|
||||||
Gui, Add, Button, x10 y+10 h%ResultButtonHeights% w%ResultButtonWidth% gResultsGUIAction, Locals URL
|
Gui, Add, Button,x%MarginSize% y+10 h%ResultButtonHeights% w%ResultButtonWidth% gResultsGUIAction, Locals RTMP URL
|
||||||
Gui, Add, Edit, x+5 yp+0 h%ResultButtonHeights% w%ResultButtonEditWidth% vLivestreamURL center, %LivestreamURL%
|
|
||||||
|
|
||||||
Gui, Add, Button, x10 y+10 h%ResultButtonHeights% w%ResultButtonWidth% gResultsGUIAction, Locals RTMP URL
|
|
||||||
Gui, Add, Edit, x+5 yp+0 h%ResultButtonHeights% w%ResultButtonEditWidth% vLocalsRTMPURL center, %LocalsRTMPURL%
|
Gui, Add, Edit, x+5 yp+0 h%ResultButtonHeights% w%ResultButtonEditWidth% vLocalsRTMPURL center, %LocalsRTMPURL%
|
||||||
|
|
||||||
Gui, Add, Button, x10 y+10 h%ResultButtonHeights% w%ResultButtonWidth% gResultsGUIAction, Locals RTMP Key
|
Gui, Add, Button, x%MarginSize% y+10 h%ResultButtonHeights% w%ResultButtonWidth% gResultsGUIAction, Locals RTMP Key
|
||||||
Gui, Add, Edit, x+5 yp+0 h%ResultButtonHeights% w%ResultButtonEditWidth% vLocalsRTMPKey center, %LocalsRTMPKey%
|
Gui, Add, Edit, x+5 yp+0 h%ResultButtonHeights% w%ResultButtonEditWidth% vLocalsRTMPKey center, %LocalsRTMPKey%
|
||||||
|
|
||||||
|
Gui, Add, Button, x%MarginSize% y+10 h%ResultButtonHeights% w%ResultButtonWidth% gResultsGUIAction, Locals URL
|
||||||
|
Gui, Add, Edit, x+5 yp+0 h%ResultButtonHeights% w%ResultButtonEditWidth% vLocalsLivestreamURL center, %LocalsLivestreamURL%
|
||||||
|
|
||||||
Gui, Add, Button, gRetryUpload h%ResultButtonHeights% w%ResultButtonEditWidth%,Try Failed Again
|
Gui, Add, Button, x%MarginSize% y+10 h%ResultButtonHeights% w%ResultButtonWidth% gResultsGUIAction, Odysee URL
|
||||||
|
Gui, Add, Edit, x+5 yp+0 h%ResultButtonHeights% w%ResultButtonEditWidth% vOdyseeLivestreamURL center, %OdyseeLivestreamURL%
|
||||||
|
|
||||||
|
Gui, Add, Button, x%MarginSize% y+10 h%ResultButtonHeights% w%ResultButtonWidth% gResultsGUIAction, Rumble URL
|
||||||
|
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% 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, Add, Button, x%MarginSize% gRetryUpload h%ResultButtonHeights% w%ResultButtonEditWidth%,Try Failed Again
|
||||||
|
|
||||||
Gui, Show
|
Gui, Show
|
||||||
|
|
||||||
@@ -426,8 +456,23 @@ Message = Copying %A_GuiControl% to Clipboard
|
|||||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip")
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip")
|
||||||
|
|
||||||
|
|
||||||
|
if(A_GuiControl = "Copy Title"){
|
||||||
|
Clipboard := LivestreamTitle
|
||||||
|
}
|
||||||
|
if(A_GuiControl = "Copy Description"){
|
||||||
|
Clipboard := LivestreamDescription
|
||||||
|
}
|
||||||
|
|
||||||
|
if(A_GuiControl = "Rumble URL"){
|
||||||
|
Clipboard := RumbleLivestreamURL
|
||||||
|
}
|
||||||
|
|
||||||
|
if(A_GuiControl = "Odysee URL"){
|
||||||
|
Clipboard := OdyseeLivestreamURL
|
||||||
|
}
|
||||||
|
|
||||||
if(A_GuiControl = "Locals URL"){
|
if(A_GuiControl = "Locals URL"){
|
||||||
Clipboard := LivestreamURL
|
Clipboard := LocalsLivestreamURL
|
||||||
}
|
}
|
||||||
|
|
||||||
if(A_GuiControl = "Locals RTMP URL"){
|
if(A_GuiControl = "Locals RTMP URL"){
|
||||||
@@ -455,11 +500,12 @@ Return
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; GoSubs for Selenium Automation
|
||||||
|
; ------------------------------------------------
|
||||||
#Include %A_ScriptDir%\Modules\Locals-Schedule.ahk
|
#Include %A_ScriptDir%\Modules\Locals-Schedule.ahk
|
||||||
|
|
||||||
|
|
||||||
#Include %A_ScriptDir%\Modules\Odysee-Schedule.ahk
|
#Include %A_ScriptDir%\Modules\Odysee-Schedule.ahk
|
||||||
|
#Include %A_ScriptDir%\Modules\Odysee-Grab-URL.ahk
|
||||||
|
#Include %A_ScriptDir%\Modules\Rumble-Schedule.ahk
|
||||||
|
|
||||||
|
|
||||||
; Misc
|
; Misc
|
||||||
|
|||||||
Submodule Lib/Freedomain-Posters-Shared-Functions updated: 2e0c81f34f...124a26c3b0
@@ -7,8 +7,8 @@ Try, PageURL := driver.Url
|
|||||||
if(InStr(PageURL, "/register"))
|
if(InStr(PageURL, "/register"))
|
||||||
{
|
{
|
||||||
LoginPageURL := LocalsPostPageURL . "/login"
|
LoginPageURL := LocalsPostPageURL . "/login"
|
||||||
Message = Website Login Expired. Trying to log back in. Navigating to: %LoginPageURL%
|
Message = Website Login Expired. Please log back in and then try again.
|
||||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||||
try, driver.Get(LoginPageURL) ;Open selected URL
|
try, driver.Get(LoginPageURL) ;Open selected URL
|
||||||
|
Return
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,6 +37,12 @@ Xpath = //input[@id='title']
|
|||||||
; try, driver.FindElementByXPath(Xpath).SendKeys("TEST STRINGHERE")
|
; try, driver.FindElementByXPath(Xpath).SendKeys("TEST STRINGHERE")
|
||||||
|
|
||||||
Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=LivestreamTitle)
|
Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=LivestreamTitle)
|
||||||
|
if(Status){
|
||||||
|
Message = Failed to input Livestream Title
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||||
|
Return
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Xpath = //textarea[@id='body']
|
Xpath = //textarea[@id='body']
|
||||||
Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=LivestreamDescription)
|
Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=LivestreamDescription)
|
||||||
@@ -50,7 +56,7 @@ Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000
|
|||||||
; Create a Livestream - Second Screen
|
; Create a Livestream - Second Screen
|
||||||
; ------------------------------------------------
|
; ------------------------------------------------
|
||||||
; check if "Schedule Livestream" checkbox is checked, check it if not
|
; check if "Schedule Livestream" checkbox is checked, check it if not
|
||||||
LivestreamScheduledCheckbox := driver.findElementByID("is_scheduled_livestream").isSelected() ;Checks if a checkbox is ticked or not and saves it to a variable, usually: 0 = Unchecked, -1 = Checked
|
try, LivestreamScheduledCheckbox := driver.findElementByID("is_scheduled_livestream").isSelected() ;Checks if a checkbox is ticked or not and saves it to a variable, usually: 0 = Unchecked, -1 = Checked
|
||||||
if(LivestreamScheduledCheckbox = 0){
|
if(LivestreamScheduledCheckbox = 0){
|
||||||
Xpath = //label[normalize-space()='Schedule this live stream?']
|
Xpath = //label[normalize-space()='Schedule this live stream?']
|
||||||
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000)
|
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000)
|
||||||
@@ -63,12 +69,12 @@ if(LivestreamScheduledCheckbox = 0){
|
|||||||
}
|
}
|
||||||
|
|
||||||
; Make sure the "Notify Users" checkbox is checked
|
; Make sure the "Notify Users" checkbox is checked
|
||||||
NotifyUsersCheckbox := driver.findElementByID("is_do_promo").isSelected() ;Checks if a checkbox is ticked or not and saves it to a variable, usually: 0 = Unchecked, -1 = Checked
|
try, NotifyUsersCheckbox := driver.findElementByID("is_do_promo").isSelected() ;Checks if a checkbox is ticked or not and saves it to a variable, usually: 0 = Unchecked, -1 = Checked
|
||||||
if(NotifyUsersCheckbox = 0){
|
if(NotifyUsersCheckbox = 0){
|
||||||
Xpath = //label[@for='is_do_promo']
|
Xpath = //label[@for='is_do_promo']
|
||||||
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000)
|
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000)
|
||||||
|
|
||||||
NotifyUsersCheckbox := driver.findElementByID("is_do_promo").isSelected()
|
try, NotifyUsersCheckbox := driver.findElementByID("is_do_promo").isSelected()
|
||||||
if(NotifyUsersCheckbox = 0){
|
if(NotifyUsersCheckbox = 0){
|
||||||
Message = Failed to select the "Notify Users" checkbox
|
Message = Failed to select the "Notify Users" checkbox
|
||||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
||||||
|
|||||||
154
Modules/Odysee-Grab-URL.ahk
Normal file
154
Modules/Odysee-Grab-URL.ahk
Normal file
@@ -0,0 +1,154 @@
|
|||||||
|
|
||||||
|
OdyseeGrabURL:
|
||||||
|
Iniread, OdyseeURLSLUG, %PostStatusesFilepath%, Livestream,OdyseeURLSLUG, %A_Space%
|
||||||
|
|
||||||
|
if(OdyseeURLSLUG = ""){
|
||||||
|
Message = OdyseeURLSLug is empty in the Livestream.ini file.
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||||
|
Return
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Status := NavigateFromBaseURLTo("https://odysee.com/$/livestream")
|
||||||
|
if(Status)
|
||||||
|
Return
|
||||||
|
|
||||||
|
; click on Local Setup button to switch windows
|
||||||
|
Xpath = //span[contains(text(),'Local Setup')]
|
||||||
|
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000)
|
||||||
|
|
||||||
|
|
||||||
|
Xpath = //label[normalize-space()='Stream server']
|
||||||
|
try, Status := driver.findelementbyxpath(Xpath).Attribute("innerText") ;XPATH Inner Text
|
||||||
|
|
||||||
|
if(!Status){
|
||||||
|
Message = Failed to switch to "Stream Server" page
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||||
|
Return
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Message = Waiting for Livestream Created Confirmation Popup
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
||||||
|
|
||||||
|
Xpath = //h2[normalize-space()='Livestream Created']
|
||||||
|
|
||||||
|
Loop, 60 {
|
||||||
|
|
||||||
|
try, Status := ElementInnerText := driver.findelementbyxpath(Xpath).Attribute("innerText") ;XPATH Inner Text
|
||||||
|
if(Status = "Livestream Created")
|
||||||
|
break
|
||||||
|
else, {
|
||||||
|
sleep, 1000
|
||||||
|
Continue
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
Message = Grabbing Livestream URL from Livestream Settings Page
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
||||||
|
/*
|
||||||
|
; Grab and Format the livestream URL
|
||||||
|
Xpath = //li[@role='link']
|
||||||
|
Loop, 60 {
|
||||||
|
URLSLUG := GetHTMLValueFromXpathOuterHTML(XPATH, "href")
|
||||||
|
if(URLSLug = "Failed"){
|
||||||
|
Message = Failed to Grab URL SLug from confirmation popup
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||||
|
Return
|
||||||
|
}
|
||||||
|
; Msgbox % "URLSLug: " URLSLug
|
||||||
|
if(InStr(URLSLug, OdyseeLivestreamSlug))
|
||||||
|
break
|
||||||
|
|
||||||
|
if(A_Index = 60){
|
||||||
|
Message = Odysee did not generate permanant livestream URL after 1 minute of waiting. Congestion Issues?
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||||
|
Return
|
||||||
|
}
|
||||||
|
|
||||||
|
sleep, 1000
|
||||||
|
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
/*; Message =
|
||||||
|
Xpath = //span[contains(text(),'View Livestream Settings')]
|
||||||
|
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=5,SleepLength:=1000)
|
||||||
|
if(Status){
|
||||||
|
Message = Failed to click on View Livestream Settigns Button
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||||
|
Return
|
||||||
|
}
|
||||||
|
|
||||||
|
; Double check that we're on the right page.
|
||||||
|
Xpath = //label[normalize-space()='Stream server']
|
||||||
|
try InnerText := driver.findelementbyxpath(Xpath).Attribute("innerText") ;XPATH Inner Text
|
||||||
|
if(InnerText != "Stream server"){
|
||||||
|
Message = Failed to Navigate to View Livestream Settings Page
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||||
|
Return
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
Message = Waiting for Livestream to get confirmed and URL to be generated`nWill Give up after 5 minutes
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
||||||
|
|
||||||
|
|
||||||
|
Xpath = //div[@class='section']//li[1]
|
||||||
|
Loop, 100 {
|
||||||
|
|
||||||
|
if(A_Index = 100){
|
||||||
|
Message = Failed to grab URL after 5 minutes of waiting.
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||||
|
Return
|
||||||
|
}
|
||||||
|
|
||||||
|
Try ElementOuterHTML := driver.findelementbyxpath(Xpath).Attribute("outerHTML") ;XPATH-ID & Tag
|
||||||
|
|
||||||
|
if(!InStr(ElementOuterHTML, OdyseeURLSLUG)){
|
||||||
|
Sleep, 5000
|
||||||
|
Continue
|
||||||
|
; Message = Failed to Grab Livestream URL. Please copy and paste it manually.
|
||||||
|
; SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||||
|
; return
|
||||||
|
|
||||||
|
}
|
||||||
|
else, {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
; Clipboard := OdyseeURLSLUG
|
||||||
|
; Msgbox % "OdyseeURLSLUG: " OdyseeURLSLUG
|
||||||
|
; Clipboard := ElementOuterHTML
|
||||||
|
; Msgbox % "ElementOuterHTML: " ElementOuterHTML
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Xpath = //div[@class='section']//li[1]
|
||||||
|
URLSLUG := GetHTMLValueFromXpathOuterHTML(XPATH, "href")
|
||||||
|
if(URLSLUG = "Failed"){
|
||||||
|
Message = Failed to Grab Livestream URL from outerHTML of livestream element.
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||||
|
Return
|
||||||
|
}
|
||||||
|
|
||||||
|
OdyseeLivestreamURL := "https://odysee.com" . URLSLug
|
||||||
|
; Msgbox % "OdyseeLivestreamURL: " OdyseeLivestreamURL
|
||||||
|
|
||||||
|
; Message = URL Slug Grabbed from Confirmation Popup: %URLSLug%
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
||||||
|
|
||||||
|
; OdyseeLivestreamURL := "https://odysee.com" . URLSLug
|
||||||
|
|
||||||
|
|
||||||
|
IniWrite, %OdyseeLivestreamURL%, %PostStatusesFilepath%, Livestream,OdyseeLivestreamURL
|
||||||
@@ -41,6 +41,11 @@ if(InStr(Status, "Clear")){
|
|||||||
FormatTime, OdyseeLivestreamDate , %LivestreamDate%, MM-dd-yyyy ; _hhmmss
|
FormatTime, OdyseeLivestreamDate , %LivestreamDate%, MM-dd-yyyy ; _hhmmss
|
||||||
OdyseeLivestreamSlug := "livestream-" . OdyseeLivestreamDate
|
OdyseeLivestreamSlug := "livestream-" . OdyseeLivestreamDate
|
||||||
OdyseeURLSLUG := LBRYCMDTextReplacement(OdyseeLivestreamSlug)
|
OdyseeURLSLUG := LBRYCMDTextReplacement(OdyseeLivestreamSlug)
|
||||||
|
IniWrite, %OdyseeURLSLUG%, %PostStatusesFilepath%, Livestream,OdyseeURLSLUG
|
||||||
|
|
||||||
|
Xpath = (//div[@class='form-field__prefix'])[1]
|
||||||
|
try OdyseeChannelURL := driver.findelementbyxpath(Xpath).Attribute("innerText") ;XPATH Inner Text
|
||||||
|
|
||||||
|
|
||||||
Message = Inputting Livestream Information
|
Message = Inputting Livestream Information
|
||||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
||||||
@@ -235,104 +240,9 @@ Xpath = //button[@aria-label='Confirm']//span[@class='button__content']
|
|||||||
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=5,SleepLength:=1000)
|
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=5,SleepLength:=1000)
|
||||||
|
|
||||||
|
|
||||||
Message = Waiting for Livestream Created Confirmation Popup
|
OdyseeLivestreamURL := "https://" . OdyseeChannelURL . OdyseeURLSLUG
|
||||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
; OdyseeURL := "https://" . OdyseeURL
|
||||||
|
IniWrite, %OdyseeLivestreamURL%, %PostStatusesFilepath%, Livestream,OdyseeLivestreamURL
|
||||||
Xpath = //h2[normalize-space()='Livestream Created']
|
|
||||||
|
|
||||||
Loop, 60 {
|
|
||||||
|
|
||||||
try, Status := ElementInnerText := driver.findelementbyxpath(Xpath).Attribute("innerText") ;XPATH Inner Text
|
|
||||||
if(Status = "Livestream Created")
|
|
||||||
break
|
|
||||||
else, {
|
|
||||||
sleep, 1000
|
|
||||||
Continue
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Message = Grabbing Livestream URL from Livestream Settings Page
|
Return
|
||||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
|
||||||
/*
|
|
||||||
; Grab and Format the livestream URL
|
|
||||||
Xpath = //li[@role='link']
|
|
||||||
Loop, 60 {
|
|
||||||
URLSLUG := GetHTMLValueFromXpathOuterHTML(XPATH, "href")
|
|
||||||
if(URLSLug = "Failed"){
|
|
||||||
Message = Failed to Grab URL SLug from confirmation popup
|
|
||||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
|
||||||
Return
|
|
||||||
}
|
|
||||||
; Msgbox % "URLSLug: " URLSLug
|
|
||||||
if(InStr(URLSLug, OdyseeLivestreamSlug))
|
|
||||||
break
|
|
||||||
|
|
||||||
if(A_Index = 60){
|
|
||||||
Message = Odysee did not generate permanant livestream URL after 1 minute of waiting. Congestion Issues?
|
|
||||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
|
||||||
Return
|
|
||||||
}
|
|
||||||
|
|
||||||
sleep, 1000
|
|
||||||
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
; Message =
|
|
||||||
Xpath = //span[contains(text(),'View Livestream Settings')]
|
|
||||||
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=5,SleepLength:=1000)
|
|
||||||
if(Status){
|
|
||||||
Message = Failed to click on View Livestream Settigns Button
|
|
||||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
|
||||||
Return
|
|
||||||
}
|
|
||||||
|
|
||||||
; Double check that we're on the right page.
|
|
||||||
Xpath = //label[normalize-space()='Stream server']
|
|
||||||
try InnerText := driver.findelementbyxpath(Xpath).Attribute("innerText") ;XPATH Inner Text
|
|
||||||
if(InnerText != "Stream server"){
|
|
||||||
Message = Failed to Navigate to View Livestream Settings Page
|
|
||||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
|
||||||
Return
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Xpath = //div[@class='section']//li[1]
|
|
||||||
Try ElementOuterHTML := driver.findelementbyxpath(Xpath).Attribute("outerHTML") ;XPATH-ID & Tag
|
|
||||||
; Clipboard := OdyseeURLSLUG
|
|
||||||
; Msgbox % "OdyseeURLSLUG: " OdyseeURLSLUG
|
|
||||||
; Clipboard := ElementOuterHTML
|
|
||||||
; Msgbox % "ElementOuterHTML: " ElementOuterHTML
|
|
||||||
|
|
||||||
|
|
||||||
if(!InStr(ElementOuterHTML, OdyseeURLSLUG)){
|
|
||||||
Message = Failed to Grab Livestream URL. Please copy and paste it manually.
|
|
||||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
|
||||||
return
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Xpath = //div[@class='section']//li[1]
|
|
||||||
URLSLUG := GetHTMLValueFromXpathOuterHTML(XPATH, "href")
|
|
||||||
if(URLSLUG = "Failed"){
|
|
||||||
Message = Failed to Grab Livestream URL from outerHTML of livestream element.
|
|
||||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
|
||||||
Return
|
|
||||||
}
|
|
||||||
|
|
||||||
OdyseeLivestreamURL := "https://odysee.com" . URLSLug
|
|
||||||
; Msgbox % "OdyseeLivestreamURL: " OdyseeLivestreamURL
|
|
||||||
|
|
||||||
; Message = URL Slug Grabbed from Confirmation Popup: %URLSLug%
|
|
||||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
|
||||||
|
|
||||||
; OdyseeLivestreamURL := "https://odysee.com" . URLSLug
|
|
||||||
|
|
||||||
|
|
||||||
IniWrite, %OdyseeLivestreamURL%, %PostStatusesFilepath%, Livestream,OdyseeLivestreamURL
|
|
||||||
|
|
||||||
|
|
||||||
Return
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
RumbleUpload:
|
RumbleSchedule:
|
||||||
;------------------------------------------------
|
;------------------------------------------------
|
||||||
|
|
||||||
CurrentSite := "Rumble"
|
CurrentSite := "Rumble"
|
||||||
@@ -38,6 +38,215 @@ if(InStr(CurrentURL, "/sso/auth/consent")){
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; Schedule New Stream
|
||||||
|
; ------------------------------------------------
|
||||||
|
Message = Scheduling new stream and inputting information
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile")
|
||||||
|
|
||||||
|
; Schedule new stream
|
||||||
|
; Schedule a stream button
|
||||||
|
Xpath = //div[normalize-space()='Schedule a stream']
|
||||||
|
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000)
|
||||||
|
|
||||||
|
|
||||||
|
Xpath = (//h2[normalize-space()='Select a template (optional)'])
|
||||||
|
try ElementInnerText := driver.findelementbyxpath(Xpath).Attribute("innerText") ;XPATH Inner Text
|
||||||
|
if(!ElementInnerText){
|
||||||
|
Message = Templates Subwindow did not show up
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
||||||
|
Return
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
loop, 3 {
|
||||||
|
Xpath = (//div[@class='flex items-center justify-between gap-x-8 p-4 bg-indigo rounded-xl'])[%A_Index%]
|
||||||
|
try, ElementText := driver.findelementbyxpath(Xpath).Attribute("innerText") ;XPATH Inner Text
|
||||||
|
|
||||||
|
; use the template with "Freedomain Livestream in the name"
|
||||||
|
if(InStr(ElementText, "Freedomain Livestream")){
|
||||||
|
Xpath = (//span[contains(text(),'Select')])[1]
|
||||||
|
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000)
|
||||||
|
if(Status){
|
||||||
|
Message = Failed to Select Livestream Template
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||||
|
Return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
; input thumbnail
|
||||||
|
if(Livestreamthumbnail){
|
||||||
|
|
||||||
|
Xpath = //input[@id='room-thumbnail']
|
||||||
|
Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=Livestreamthumbnail)
|
||||||
|
if(Status){
|
||||||
|
Message = Faied to upload custom thubmanil
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||||
|
Return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; input Livestream Title
|
||||||
|
Xpath = //input[@placeholder='Give your stream a name']
|
||||||
|
Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=LivestreamTitle, ClearElement:=1)
|
||||||
|
|
||||||
|
; input Livestream Description
|
||||||
|
Xpath = //textarea[@placeholder='Tell the audience more about your stream']
|
||||||
|
Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=LivestreamDescription, ClearElement:=1)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; Input Date & Time
|
||||||
|
; ------------------------------------------------
|
||||||
|
; Create variables with time and date of timestream
|
||||||
|
FormatTime, RumbleLivestreamDate , %LivestreamDate%, dddd, MMMM
|
||||||
|
FormatTime, LivestreamOrdinalDay , %LivestreamDate%, d
|
||||||
|
FormatTime, RumbleLivestreamYear , %LivestreamDate%, yyyy
|
||||||
|
|
||||||
|
LivestreamOrdinalDay := GetDateOrdinalSuffix(LivestreamOrdinalDay)
|
||||||
|
; Msgbox % "LivestreamOrdinalDay: " LivestreamOrdinalDay
|
||||||
|
|
||||||
|
RumbleLivestreamDate := RumbleLivestreamDate . " " . LivestreamOrdinalDay . ", " . RumbleLivestreamYear
|
||||||
|
; Msgbox % "RumbleLivestreamDate: " RumbleLivestreamDate
|
||||||
|
; Msgbox % "RumbleLivestreamDate: " RumbleLivestreamDate
|
||||||
|
|
||||||
|
|
||||||
|
FormatTime, RumbleLivestreamTime , %LivestreamTime%, h:mm tt
|
||||||
|
; Msgbox % "RumbleLivestreamTime: " RumbleLivestreamTime
|
||||||
|
; FormatTime, RumbleLivestreamYear , %LivestreamDate%, yyyy
|
||||||
|
|
||||||
|
; click on box to open time picker dialogue
|
||||||
|
Xpath = //input[@placeholder='Pick a time']
|
||||||
|
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000)
|
||||||
|
|
||||||
|
; generate xpath based on date and click element
|
||||||
|
Xpath = //div[@aria-label='Choose %RumbleLivestreamDate%']
|
||||||
|
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000)
|
||||||
|
if(Status){
|
||||||
|
Message = Failed to select date from popup menu using generated xpath.`nXpath = %Xpath%
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||||
|
Return
|
||||||
|
}
|
||||||
|
|
||||||
|
; generate xpath based on time and click element
|
||||||
|
Xpath = //li[normalize-space()='%RumbleLivestreamTime%']
|
||||||
|
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000)
|
||||||
|
if(Status){
|
||||||
|
Message = Failed to select time from popup menu using generated xpath.`nXpath = %Xpath%
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||||
|
Return
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; Select Channel for Upload
|
||||||
|
; ------------------------------------------------
|
||||||
|
; click channel dropdown
|
||||||
|
Xpath = //span[@class='text-light truncate text-mini']
|
||||||
|
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000)
|
||||||
|
if(Status){
|
||||||
|
Message = Failed to click on Channel dropdown menu
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||||
|
Return
|
||||||
|
}
|
||||||
|
|
||||||
|
; Grab inner text of all items in the channel select drop down menu
|
||||||
|
xpath = (//div[@class='shadow-md rounded-lg overflow-x-hidden bg-indigo'])[1]
|
||||||
|
try ElementInnerText := driver.findelementbyxpath(Xpath).Attribute("innerText") ;XPATH Inner Text
|
||||||
|
|
||||||
|
; pull out name of first channel in dropdown
|
||||||
|
FirstChannelName := StrSplit(ElementInnerText, "`n")[1]
|
||||||
|
|
||||||
|
Xpath = (//span[normalize-space()='%FirstChannelName%'])[1]
|
||||||
|
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000)
|
||||||
|
if(Status){
|
||||||
|
Message = Failed to select the channel -%FirstChannelName%- from Channel dropdown menu
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; Select each Secondary Platform checkbox
|
||||||
|
; ------------------------------------------------
|
||||||
|
Loop, 10 {
|
||||||
|
|
||||||
|
IndexPlusOne := A_index + 1
|
||||||
|
Xpath = (//div[@class='flex shrink-0 items-center gap-x-4'])[%A_index%]
|
||||||
|
XpathCheckbox = (//div[@class='relative shrink-0'])[%IndexPlusOne%]
|
||||||
|
|
||||||
|
|
||||||
|
try SecondaryPlatformCheckboxName := driver.findelementbyxpath(Xpath).Attribute("innerText") ;XPATH Inner Text
|
||||||
|
|
||||||
|
if(SecondaryPlatformCheckboxName = "Add new destination" OR SecondaryPlatformCheckboxName = ""){
|
||||||
|
Break
|
||||||
|
}
|
||||||
|
|
||||||
|
Status := Selenium_LoopToClickXpath(Xpath:=XpathCheckbox,NumOfLoops:=2,SleepLength:=1000)
|
||||||
|
if(Status){
|
||||||
|
Message = Failed to check off the checkbox for: %SecondaryPlatformCheckboxName%
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||||
|
}
|
||||||
|
|
||||||
|
sleep, 250
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(ConfirmBeforeSubmit){
|
||||||
|
OnMessage(0x44, "OnMsgBoxUserConfirmation")
|
||||||
|
MsgBox 0x21, User Confirmation, Please check that all data was input correctly and fix any mistakes and then click PROCEED to finalize the Upload.`n`nClick STOP to cancel the rest of this Upload and move on to the next website.
|
||||||
|
OnMessage(0x44, "")
|
||||||
|
|
||||||
|
IfMsgBox OK, {
|
||||||
|
|
||||||
|
} Else IfMsgBox Cancel, {
|
||||||
|
Message = User Selected STOP button when asked for confirmation. Cancelling Rest of automation for this site.
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||||
|
Return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
*/
|
||||||
|
|
||||||
|
; click the "next" button to finalize the upload
|
||||||
|
Xpath = (//button[@class='rounded-full px-6 py-2 bg-primary hover:brightness-[0.92] cursor-pointer'])[1]
|
||||||
|
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000)
|
||||||
|
if(Status){
|
||||||
|
Message = Failed to click "Next" to finalize the upload
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
try, driver.get("https://rumble.com/account/live-streaming")
|
||||||
|
|
||||||
|
Xpath = (//a[normalize-space()='Livestream Coming Soonish!'])[1]
|
||||||
|
; Try ElementOuterHTML := driver.findelementbyxpath(Xpath).Attribute("outerHTML") ;XPATH-ID & Tag
|
||||||
|
|
||||||
|
RumbleURLSlug := GetHTMLValueFromXpathOuterHTML(XPATH, "href")
|
||||||
|
if(RumbleURLSlug = "" or RumbleURLSlug = "Failed"){
|
||||||
|
Message = Failed to grab Rumble URL Slug from Livestreams Page
|
||||||
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||||
|
Return
|
||||||
|
}
|
||||||
|
|
||||||
|
RumbleLivestreamURL := "https://rumble.com" . RumbleURLSlug
|
||||||
|
|
||||||
|
IniWrite, %RumbleLivestreamURL%, %PostStatusesFilepath%, Livestream,RumbleLivestreamURL
|
||||||
|
|
||||||
|
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
BIN
Version.ini
BIN
Version.ini
Binary file not shown.
Reference in New Issue
Block a user