Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| cb42cd069f | |||
| 2dd27065be | |||
| dacd8f353a | |||
| b9b0b14b29 |
@@ -53,8 +53,6 @@ CheckIfUpdateInstalled(PassedInArgument)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; VARIABLES
|
||||
;------------------------------------------------
|
||||
|
||||
@@ -70,6 +68,7 @@ global DiscordErrorLoggingWebhookBotURL
|
||||
global DiscordVideosWebhookURL
|
||||
global VideoFolderDir
|
||||
global LogErrorsToMsgbox
|
||||
global ErrorLogToDiscord
|
||||
; global LogErrorsToTextFile
|
||||
global CurrentSite
|
||||
global Driver
|
||||
@@ -116,6 +115,7 @@ global GitReleasesAPIURL
|
||||
GitReleasesAPIURL = https://freedomain.dev/api/v1/repos/yuriy/livestream-scheduler/releases
|
||||
|
||||
|
||||
|
||||
; Read Info From Files
|
||||
; ------------------------------------------------
|
||||
; For Templates and re-trying a failed previous run
|
||||
@@ -157,6 +157,15 @@ LivestreamThumbnail := ThumbnailJPEGFilepath
|
||||
; ------------------------------------------------
|
||||
IniRead, ConfirmBeforeSubmit, %SettingsIniFilepath%, %ScriptSettingsSection%, ConfirmBeforeSubmit, 1
|
||||
IniRead, AutoUpdateCheck, %SettingsIniFilepath%, %ScriptSettingsSection%, AutoUpdateCheck, 1
|
||||
IniRead, ErrorLogToDiscord, %SettingsIniFilepath%, %ScriptSettingsSection%, ErrorLogToDiscord, 1
|
||||
if(ErrorLogToDiscord){
|
||||
; Discord
|
||||
IniRead, DiscordErrorLoggingWebhookBotURL, %SettingsIniFilepath%, General, DiscordWebhookBotURL, %A_space%
|
||||
if(DiscordErrorLoggingWebhookBotURL = ""){
|
||||
Message = DiscordErrorLoggingWebhookBotURL is blank. `nWill not be able to post error messages or upload status to discord.`nPlease add discord webhook URL in settings.ini under: `n`n[General]`DiscordErrorLoggingWebhookBotURL=
|
||||
SaveOrPostProgress(Message:=Message,PostType:="ErrorLoggingTextFile,ErrorSummaryVar")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -191,7 +200,7 @@ ColumnTwoEditBoxHalfWidth := ColumnTwoEditBoxWidth / 2
|
||||
ResultButtonWidth := 250
|
||||
ResultButtonEditWidth := 250
|
||||
ResultButtonHeights := 30
|
||||
|
||||
ResultButtonAndEditWidth := ResultButtonWidth + ResultButtonEditWidth + MarginSize
|
||||
|
||||
|
||||
; START OF GUI
|
||||
@@ -237,6 +246,8 @@ 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, Font, Normal
|
||||
Gui, Add, Button,gSchedulePost w%ColumnOneEditBoxHalfWidth% gLoadPrevious h20 , Load Previous
|
||||
|
||||
|
||||
; Gui, Add, Button, yp+0 x%ColumnOneEditBoxHalfWidth% w%ColumnOneEditBoxHalfWidth%, Text button here
|
||||
@@ -254,9 +265,13 @@ Gui, Font, Bold
|
||||
Gui, Add, Text,y0 x%ColumnTwoXPosition%, Settings
|
||||
Gui, Font, Normal
|
||||
Gui, Font, s8
|
||||
Gui, Add, Checkbox, vErrorLogToDiscord Checked%ErrorLogToDiscord%, Error Log to Discord
|
||||
Gui, Add, Checkbox, vConfirmBeforeSubmit checked%ConfirmBeforeSubmit%, Confirm Before Submit
|
||||
Gui, Add, Checkbox, vAutoUpdateCheck Checked%AutoUpdateCheck%, Auto Update Check
|
||||
|
||||
|
||||
|
||||
|
||||
if(UpdateAvailable){
|
||||
Gui, Add, Button, cRed w%ColumnTwoEditBoxWidth% gUpdateScript vUpdateAvailable center, Update Available!
|
||||
}
|
||||
@@ -284,10 +299,13 @@ Gui, Font, Bold
|
||||
Gui, Add, Text,y+%MarginSizeDoubled% x%ColumnTwoXPosition%, Platforms
|
||||
Gui, Font, Normal
|
||||
|
||||
Gui, Font, s6
|
||||
Gui, Add, Button, x+%marginsize% yp+5 gUncheckAllPlatforms, Uncheck All
|
||||
|
||||
; Gui, Add, Checkbox,, Dlive
|
||||
|
||||
|
||||
Gui, Add, Checkbox,checked vOdysee, Odysee
|
||||
Gui, Font, s%GuiFontSize%
|
||||
Gui, Add, Checkbox,x%ColumnTwoXPosition% y+%marginsize% checked vOdysee, Odysee
|
||||
Gui, Add, Checkbox, x+%marginSize% yp+0 checked vLocals, Locals
|
||||
Gui, Add, Checkbox,x%ColumnTwoXPosition% y+%marginsize% checked vRumble, Rumble
|
||||
Gui, Font, S8
|
||||
@@ -295,7 +313,8 @@ Gui, Add, Checkbox, x+10 yp+5 Checked vInputRumbleCustomRTMP, Input RTMP
|
||||
|
||||
|
||||
Gui, Font, s15
|
||||
Gui, Add, Button, x%ColumnTwoXPosition% y+%marginsizeDoubled% gSchedulePost w%ColumnTwoEditBoxWidth% h40, Schedule
|
||||
Gui, Font, Bold
|
||||
Gui, Add, Button, x%ColumnTwoXPosition% y+%marginsizeDoubled% gSchedulePost w%ColumnTwoEditBoxWidth% h60, Schedule
|
||||
; Gui, Font, Normal
|
||||
|
||||
Gui, Show, h%GuiHeight%, %FullScriptName%
|
||||
@@ -322,12 +341,22 @@ Return
|
||||
|
||||
|
||||
|
||||
|
||||
UncheckAllPlatforms:
|
||||
GuiControl,,Odysee,0
|
||||
GuiControl,,Locals,0
|
||||
GuiControl,,Rumble,0
|
||||
GuiControl,,InputRumbleCustomRTMP,0
|
||||
Return
|
||||
|
||||
|
||||
|
||||
; Functions
|
||||
;------------------------------------------------
|
||||
GUIUpdateVars:
|
||||
Gui, Submit, NoHide
|
||||
|
||||
Return
|
||||
|
||||
SaveAsTemplate:
|
||||
Gui, submit, NoHide ; Update variables for all modified fields
|
||||
|
||||
@@ -357,13 +386,20 @@ if(LivestreamThumbnail){ ; copy thumbnail into folder
|
||||
|
||||
|
||||
Return
|
||||
|
||||
|
||||
LoadPrevious:
|
||||
LoadTemplate:
|
||||
|
||||
if(A_GuiControl = "Load Previous"){
|
||||
ErrorLoggingDirectory = %A_ScriptDir%\Lib\ErrorLogging
|
||||
Message = Loading Previous Post
|
||||
}
|
||||
if(A_GuiControl = "Load Template"){
|
||||
ErrorLoggingDirectory = %A_ScriptDir%\Lib\Templates-%ScriptAbbreviatedName%\
|
||||
Message = Loading Template
|
||||
}
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,DiscordErrorLogging")
|
||||
|
||||
ErrorLoggingDirectory = %A_ScriptDir%\Lib\Templates-%ScriptAbbreviatedName%\
|
||||
; ErrorLoggingDirectory = %A_ScriptDir%\Lib\Templates-%ScriptAbbreviatedName%\
|
||||
FileSelectFolder, ErrorLoggingDirectory, %ErrorLoggingDirectory%
|
||||
if(ErrorLevel){
|
||||
Tooltip
|
||||
@@ -393,6 +429,7 @@ Gui, submit, NoHide
|
||||
; ------------------------------------------------
|
||||
IniWrite, %ConfirmBeforeSubmit%, %SettingsIniFilepath%, %ScriptSettingsSection%, ConfirmBeforeSubmit
|
||||
IniWrite, %AutoUpdateCheck%, %SettingsIniFilepath%, %ScriptSettingsSection%, AutoUpdateCheck
|
||||
IniWrite, %ErrorLogToDiscord%, %SettingsIniFilepath%, %ScriptSettingsSection%, ErrorLogToDiscord
|
||||
|
||||
|
||||
; Re-use an existing errorlog or create new directory
|
||||
@@ -461,37 +498,72 @@ IniRead, LocalsRTMPKey, %PostStatusesFilepath%, Livestream,LocalsRTMPKey, %A_Spa
|
||||
IniRead, LocalsLivestreamURL, %PostStatusesFilepath%, Livestream,LocalsLivestreamURL, %A_Space%
|
||||
|
||||
IniRead, OdyseeLivestreamURL, %PostStatusesFilepath%, Livestream,OdyseeLivestreamURL, %A_Space%
|
||||
IniRead, OdyseeRTMPKey, %PostStatusesFilepath%, Livestream,OdyseeRTMPKey, %A_Space%
|
||||
IniRead, OdyseeRTMPURL, %PostStatusesFilepath%, Livestream,OdyseeRTMPURL, %A_Space%
|
||||
|
||||
IniRead, RumbleLivestreamURL, %PostStatusesFilepath%, Livestream,RumbleLivestreamURL, %A_Space%
|
||||
IniRead, RumbleCustomRTMPs, %PostStatusesFilepath%, Livestream,RumbleCustomRTMPs, %A_Space%
|
||||
|
||||
|
||||
Gui, Font, Bold
|
||||
Gui, Font, s%GuiFontSize%
|
||||
|
||||
Gui, Add, Button,x%MarginSize% y+10 h%ResultButtonHeights% w%ResultButtonWidth% gResultsGUIAction, Locals RTMP URL
|
||||
|
||||
/*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% y+10 h%ResultButtonHeights% w%ResultButtonWidth% gResultsGUIAction, Copy Title
|
||||
Gui, Add, Button, x+5 yp+0 h%ResultButtonHeights% w%ResultButtonEditWidth% center gResultsGUIAction, Copy Description
|
||||
|
||||
Gui, add, text, x%MarginSize% y+%marginsize% w%ResultButtonAndEditWidth% 0x10 ;Horizontal Line > Etched Gray
|
||||
|
||||
Gui, Add, Button,x%MarginSize% yp+%marginsizeDoubled% h%ResultButtonHeights% w%ResultButtonWidth% gResultsGUIAction, Locals RTMP URL
|
||||
Gui, Add, Edit, x+5 yp+0 h%ResultButtonHeights% w%ResultButtonEditWidth% vLocalsRTMPURL center, %LocalsRTMPURL%
|
||||
|
||||
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 gGUIUpdateVars 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, Edit, x+5 yp+0 h%ResultButtonHeights% w%ResultButtonEditWidth% vLocalsLivestreamURL gGUIUpdateVars center, %LocalsLivestreamURL%
|
||||
|
||||
Gui, Add, Button, x%MarginSize% y+10 h%ResultButtonHeights% w%ResultButtonWidth% gResultsGUIAction, Odysee RTMP URL
|
||||
Gui, Add, Edit, x+5 yp+0 h%ResultButtonHeights% w%ResultButtonEditWidth% vOdyseeRTMPURL gGUIUpdateVars center, %OdyseeRTMPURL%
|
||||
|
||||
Gui, Add, Button, x%MarginSize% y+10 h%ResultButtonHeights% w%ResultButtonWidth% gResultsGUIAction, Odysee RTMP Key
|
||||
Gui, Add, Edit, x+5 yp+0 h%ResultButtonHeights% w%ResultButtonEditWidth% vOdyseeRTMPKey gGUIUpdateVars center, %OdyseeRTMPKey%
|
||||
|
||||
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, Edit, x+5 yp+0 h%ResultButtonHeights% w%ResultButtonEditWidth% vOdyseeLivestreamURL gGUIUpdateVars 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, Edit, x+5 yp+0 h%ResultButtonHeights% w%ResultButtonEditWidth% vRumbleLivestreamURL gGUIUpdateVars center, %RumbleLivestreamURL%
|
||||
|
||||
Gui, Font, s10
|
||||
Gui, Add, Button, x%MarginSize% y+10 h%ResultButtonHeights% w%ResultButtonWidth% gResultsGUIAction, RTMPs Updated on Rumble
|
||||
Gui, Add, Edit, x+5 yp+0 h%ResultButtonHeights% w%ResultButtonEditWidth% vRumbleCustomRTMPs gGUIUpdateVars center, %RumbleCustomRTMPs%
|
||||
|
||||
|
||||
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, add, text, x%MarginSize% y+%marginsizeDoubled% w%ResultButtonAndEditWidth% 0x10 ;Horizontal Line > Etched Gray
|
||||
|
||||
Gui, Font, s%GuiFontSize%
|
||||
Gui, Add, Button, x%MarginSize% y+%marginsize% gResultsGUIAction h%ResultButtonHeights% w%ResultButtonEditWidth%,Save Changes
|
||||
Gui, Add, Button, x+%marginsize% h%ResultButtonHeights% w%ResultButtonEditWidth% gRetryUpload ,Try Failed Again
|
||||
|
||||
Gui, Add, Button, x%MarginSize% h%ResultButtonHeights% w%ResultButtonEditWidth% gStartSMP, Start SMP
|
||||
; Gui, Font, s10
|
||||
Gui, Add, Button, x+%marginsize% gUpdateRedirects h%ResultButtonHeights% w%ResultButtonEditWidth%, Update M.M. Redirects
|
||||
|
||||
Gui, Font, s%GuiFontSize%
|
||||
|
||||
|
||||
|
||||
|
||||
Gui, Add, Button, y%MarginSize% w%ResultButtonEditWidth% Center, Error Log
|
||||
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, Edit, y+5 h400 w%ResultButtonEditWidth%, %ErrorLogVar%
|
||||
|
||||
; Gui, Add, Button, x%MarginSize% gRetryUpload h%ResultButtonHeights% w%ResultButtonEditWidth%,Try Failed Again
|
||||
|
||||
@@ -503,9 +575,73 @@ Return
|
||||
|
||||
; GoSubs
|
||||
; ------------------------------------------------
|
||||
StartSMP:
|
||||
; IniWrite, %A_ScriptFullPath%, %SettingsIniFilepath%, Filepaths, SMPFilepath
|
||||
IniRead, SocialMediaPosterFilepath, %SettingsIniFilepath%, Filepaths, SocialMediaPosterFilepath, %A_Space%
|
||||
|
||||
if(SocialMediaPosterFilepath = "" or !FileExist(SocialMediaPosterFilepath)){
|
||||
OnMessage(0x44, "OnMsgBoxSocialMediaPoster")
|
||||
MsgBox 0x21, Filepath Not Found, Unable to find filepath for Social Media Poster`nWould you like to add it?
|
||||
OnMessage(0x44, "")
|
||||
|
||||
IfMsgBox OK, {
|
||||
FileSelectFile, SocialMediaPosterFilepath,,, Please Select Social Media Poster Filepath
|
||||
if(ErrorLevel)
|
||||
Return
|
||||
|
||||
if(!InStr(SocialMediaPosterFilepath, ".exe"))
|
||||
Return
|
||||
|
||||
} Else IfMsgBox Cancel, {
|
||||
Return
|
||||
}
|
||||
|
||||
IniWrite, %SocialMediaPosterFilepath%, %SettingsIniFilepath%, Filepaths, SocialMediaPosterFilepath
|
||||
|
||||
}
|
||||
|
||||
run, %SocialMediaPosterFilepath% %StatusFileFilePath%
|
||||
Return
|
||||
/*
|
||||
*/
|
||||
|
||||
UpdateRedirects:
|
||||
gosub, MediaManagerUpdate
|
||||
|
||||
|
||||
Return
|
||||
|
||||
|
||||
|
||||
ResultsGUIAction:
|
||||
; Msgbox % "A_GuiControl: " A_GuiControl
|
||||
|
||||
if(A_GuiControl = "Open Post Folder"){
|
||||
run, %ErrorLoggingDirectory%
|
||||
Return
|
||||
}
|
||||
|
||||
if(A_GuiControl = "Save Changes"){
|
||||
Message = Changes Saved Successfully
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip")
|
||||
|
||||
IniWrite, %LocalsRTMPURL%, %PostStatusesFilepath%, Livestream,LocalsRTMPURL
|
||||
IniWrite, %LocalsRTMPKey%, %PostStatusesFilepath%, Livestream,LocalsRTMPKey
|
||||
IniWrite, %LocalsLivestreamURL%, %PostStatusesFilepath%, Livestream,LocalsLivestreamURL
|
||||
|
||||
IniWrite, %RumbleLivestreamURL%, %PostStatusesFilepath%, Livestream,RumbleLivestreamURL
|
||||
IniWrite, %RumbleCustomRTMPs%, %PostStatusesFilepath%, Livestream,RumbleCustomRTMPs
|
||||
|
||||
IniWrite, %OdyseeLivestreamURL%, %PostStatusesFilepath%, Livestream,OdyseeLivestreamURL
|
||||
IniWrite, %OdyseeRTMPURL%, %PostStatusesFilepath%, Livestream,OdyseeRTMPURL
|
||||
IniWrite, %OdyseeRTMPKey%, %PostStatusesFilepath%, Livestream,OdyseeRTMPKey
|
||||
|
||||
sleep, 1000
|
||||
Tooltip
|
||||
Return
|
||||
}
|
||||
|
||||
|
||||
Message = Copying %A_GuiControl% to Clipboard
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip")
|
||||
|
||||
@@ -524,6 +660,13 @@ if(A_GuiControl = "Rumble URL"){
|
||||
if(A_GuiControl = "Odysee URL"){
|
||||
Clipboard := OdyseeLivestreamURL
|
||||
}
|
||||
if(A_GuiControl = "Odysee RTMP URL "){
|
||||
Clipboard := OdyseeRTMPURL
|
||||
}
|
||||
|
||||
if(A_GuiControl = "Odysee RTMP Key "){
|
||||
Clipboard := OdyseeRTMPKey
|
||||
}
|
||||
|
||||
if(A_GuiControl = "Locals URL"){
|
||||
Clipboard := LocalsLivestreamURL
|
||||
@@ -537,6 +680,8 @@ if(A_GuiControl = "Locals RTMP Key"){
|
||||
Clipboard := LocalsRTMPKey
|
||||
}
|
||||
|
||||
|
||||
|
||||
sleep, 1000
|
||||
ToolTip
|
||||
Return
|
||||
@@ -561,6 +706,7 @@ Return
|
||||
#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%\Modules\Media-Manager-Update-Redirects.ahk
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -152,9 +152,9 @@ if(Status){
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||
}
|
||||
|
||||
LivestreamURL := GrabLocalsPostURLUsingTitle(LivestreamTitle)
|
||||
LocalsLivestreamURL := GrabLocalsPostURLUsingTitle(LivestreamTitle)
|
||||
|
||||
if(!InStr(LivestreamURL, "https")){
|
||||
if(!InStr(LocalsLivestreamURL, "https")){
|
||||
; If url was not grabbed. wait 1 minute, reload page and then try grabbing URL again
|
||||
; @todo
|
||||
}
|
||||
@@ -168,7 +168,7 @@ if(!InStr(LivestreamURL, "https")){
|
||||
Message = Navigating to Livestream Page to grab RTMP Settings
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
||||
|
||||
try, driver.Get(LivestreamURL) ;Open selected URL
|
||||
try, driver.Get(LocalsLivestreamURL) ;Open selected URL
|
||||
driver.executeScript("return document.readyState").equals("complete") ; wait until page loads completely before proceeding
|
||||
|
||||
|
||||
@@ -219,7 +219,7 @@ LocalsRTMPKey := GetHTMLValueFromXpathOuterHTML(XPATH, "value")
|
||||
|
||||
IniWrite, %LocalsRTMPURL%, %PostStatusesFilepath%, Livestream,LocalsRTMPURL
|
||||
IniWrite, %LocalsRTMPKey%, %PostStatusesFilepath%, Livestream,LocalsRTMPKey
|
||||
IniWrite, %LivestreamURL%, %PostStatusesFilepath%, Livestream,LivestreamURL
|
||||
IniWrite, %LocalsLivestreamURL%, %PostStatusesFilepath%, Livestream,LocalsLivestreamURL
|
||||
|
||||
ToolTip
|
||||
Return
|
||||
|
||||
103
Modules/Media-Manager-Update-Redirects.ahk
Normal file
103
Modules/Media-Manager-Update-Redirects.ahk
Normal file
@@ -0,0 +1,103 @@
|
||||
|
||||
|
||||
MediaManagerUpdate:
|
||||
; ------------------------------------------------
|
||||
|
||||
|
||||
CurrentSite := "Media Manager"
|
||||
SaveOrPostProgress(Message:="Scheduling Post in Rumble Studio",PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
||||
|
||||
|
||||
IniRead, FDRRadioURL, %SettingsIniFilepath%, General, FDRRadioURL, %A_Space%
|
||||
if(FDRRadioURL = ""){
|
||||
Message = FDRRadioURL is blank in Settings.ini. Please add it to the following location: [General]`nFDRRadioURL=
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||
Return
|
||||
}
|
||||
|
||||
|
||||
FDRRadioBaseURL := "https://" . ExtractBaseURL(FDRRadioURL)
|
||||
FDRRadioURL := FDRRadioBaseURL . "/manage/"
|
||||
|
||||
Status := NavigateFromBaseURLTo(FDRRadioURL)
|
||||
if(Status)
|
||||
Return
|
||||
|
||||
CheckForAlerts()
|
||||
|
||||
Message = Checking Login Status
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
||||
|
||||
Try, PageURL := driver.Url
|
||||
if(InStr(PageURL, "/NotLoggedIn")){
|
||||
Message = Logged out. Trying to log back in.
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
||||
|
||||
Xpath = (//span[contains(text(),'Login')])[1]
|
||||
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000)
|
||||
|
||||
sleep, 1000
|
||||
|
||||
Try, PageURL := driver.Url
|
||||
if(InStr(PageURL, "/NotLoggedIn")){
|
||||
Message = Failed to log back in automatically. Please login and try again.
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||
Return
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
; URL for each redirect
|
||||
LocalsLiveRedirectURL := FDRRadioBaseURL . "/manage/#/Redirects/Modify?redirectID=738"
|
||||
RumbleLiveRedirectURL := FDRRadioBaseURL . "/manage/#/Redirects/Modify?redirectID=739"
|
||||
OdyseeLiveRedirectURL := FDRRadioBaseURL . "/manage/#/Redirects/Modify?redirectID=742"
|
||||
|
||||
; read the url's from the status file
|
||||
IniRead, LocalsLivestreamURL, %PostStatusesFilepath%, Livestream,LocalsLivestreamURL, %A_Space%
|
||||
IniRead, RumbleLivestreamURL, %PostStatusesFilepath%, Livestream,RumbleLivestreamURL, %A_Space%
|
||||
IniRead, OdyseeLivestreamURL, %PostStatusesFilepath%, Livestream,OdyseeLivestreamURL, %A_Space%
|
||||
|
||||
|
||||
|
||||
UpdateMediaManagerRedirect(LocalsLiveRedirectURL, LocalsLivestreamURL)
|
||||
UpdateMediaManagerRedirect(RumbleLiveRedirectURL, RumbleLivestreamURL)
|
||||
UpdateMediaManagerRedirect(OdyseeLiveRedirectURL, OdyseeLivestreamURL)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
UpdateMediaManagerRedirect(MediaManagerRedirectPageURL, RedirectURL){
|
||||
try, driver.Get(MediaManagerRedirectPageURL) ;Open selected URL
|
||||
try, driver.executeScript("return document.readyState").equals("complete") ; wait until page loads completely before proceeding
|
||||
|
||||
Xpath = (//input[@id='destinationURL'])[1]
|
||||
Status := Selenium_LoopToSendValueToXpath(Xpath:=Xpath,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=RedirectURL, ClearElement := 1)
|
||||
|
||||
|
||||
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 Site Upload.
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||
Return
|
||||
}
|
||||
}
|
||||
|
||||
; Save button
|
||||
Xpath = (//span[contains(text(),'Save')])[1]
|
||||
Status := 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
|
||||
}
|
||||
|
||||
Return "Success"
|
||||
|
||||
}
|
||||
@@ -234,15 +234,66 @@ SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,Disc
|
||||
; Click Create Button in the confirmation popup
|
||||
Xpath = //span[contains(text(),'Create')]
|
||||
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=5,SleepLength:=1000)
|
||||
if(Status){
|
||||
Message = Failed to click "Create" button at the bottom of page
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||
Return
|
||||
}
|
||||
|
||||
; Click confirm button in the popup
|
||||
Xpath = //button[@aria-label='Confirm']//span[@class='button__content']
|
||||
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=5,SleepLength:=1000)
|
||||
|
||||
if(Status){
|
||||
Message = Failed to click "Confirm" button in confirmation popup
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||
Return
|
||||
}
|
||||
|
||||
OdyseeLivestreamURL := "https://" . OdyseeChannelURL . OdyseeURLSLUG
|
||||
; OdyseeURL := "https://" . OdyseeURL
|
||||
IniWrite, %OdyseeLivestreamURL%, %PostStatusesFilepath%, Livestream,OdyseeLivestreamURL
|
||||
|
||||
|
||||
; Grab RTMP Settings
|
||||
Message = Waiting for Confirmation Screen to grab RTMP Settings
|
||||
|
||||
Xpath = (//span[contains(text(),'View Livestream Settings')])[1]
|
||||
loop, 60 {
|
||||
try, InnerText := driver.findelementbyxpath(Xpath).Attribute("innerText") ;XPATH Inner Text
|
||||
|
||||
if(InnerText = "View Livestream Settings"){
|
||||
break
|
||||
}
|
||||
sleep, 1000
|
||||
}
|
||||
|
||||
; click on the "View livestream Settings" button
|
||||
Status := Selenium_LoopToClickXpath(Xpath:=Xpath,NumOfLoops:=5,SleepLength:=1000)
|
||||
|
||||
; Grab the Stream URL and Key
|
||||
Xpath = (//input[@name='stream-server'])[1]
|
||||
loop, 5 {
|
||||
Try OdyseeRTMPURL := driver.findelementbyxpath(Xpath).Attribute("value") ;Xpath Value
|
||||
|
||||
if(OdyseeRTMPURL)
|
||||
break
|
||||
else,
|
||||
sleep, 1000
|
||||
}
|
||||
|
||||
Xpath = (//input[@name='livestream-key'])[1]
|
||||
Try OdyseeRTMPKey := driver.findelementbyxpath(Xpath).Attribute("value") ;Xpath Value
|
||||
|
||||
|
||||
if(OdyseeRTMPKey = ""){
|
||||
Message = Failed to grab Odysee RTMP Key. Page did not load?
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||
Return
|
||||
}
|
||||
|
||||
IniWrite, %OdyseeRTMPURL%, %PostStatusesFilepath%, Livestream,OdyseeRTMPURL
|
||||
IniWrite, %OdyseeRTMPKey%, %PostStatusesFilepath%, Livestream,OdyseeRTMPKey
|
||||
|
||||
|
||||
|
||||
Return
|
||||
@@ -9,9 +9,6 @@ Status := NavigateFromBaseURLTo("https://studio.rumble.com/api/signin")
|
||||
if(Status)
|
||||
Return
|
||||
|
||||
|
||||
try driver.executeScript("return document.readyState").equals("complete") ; wait until page loads completely before proceeding
|
||||
|
||||
CheckForAlerts()
|
||||
|
||||
Message = Checking Login Status
|
||||
@@ -43,11 +40,14 @@ if(InStr(CurrentURL, "/sso/auth/consent")){
|
||||
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)
|
||||
|
||||
if(Status){
|
||||
Message = Failed to click "Schedule a Stream" button. Livestream Already exists?
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||
Return
|
||||
}
|
||||
|
||||
Xpath = (//h2[normalize-space()='Select a template (optional)'])
|
||||
try ElementInnerText := driver.findelementbyxpath(Xpath).Attribute("innerText") ;XPATH Inner Text
|
||||
@@ -174,7 +174,8 @@ if(Status){
|
||||
|
||||
; Select each Secondary Platform checkbox
|
||||
; ------------------------------------------------
|
||||
IniRead, RumbleSecondaryPlatformsList, %SettingsIniFilepath%, %ScriptSettingsSection%, RumbleSecondaryPlatforms, %A_Space%
|
||||
IniRead, RumbleSecondaryPlatformsList, %SettingsIniFilepath%, %ScriptSettingsSection%, RumbleSecondaryPlatformsList, %A_Space%
|
||||
|
||||
|
||||
if(RumbleSecondaryPlatformsList = ""){
|
||||
; if variable is empty, get all items in the list and write them to .ini file
|
||||
@@ -186,11 +187,13 @@ if(RumbleSecondaryPlatformsList = ""){
|
||||
|
||||
try SecondaryPlatformCheckboxName := driver.findelementbyxpath(Xpath).Attribute("innerText") ;XPATH Inner Text
|
||||
|
||||
RumbleSecondaryPlatformsList .= SecondaryPlatformCheckboxName . "--"
|
||||
|
||||
if(SecondaryPlatformCheckboxName = "Add new destination" OR SecondaryPlatformCheckboxName = ""){
|
||||
Break
|
||||
}
|
||||
|
||||
RumbleSecondaryPlatformsList .= SecondaryPlatformCheckboxName . "--"
|
||||
|
||||
|
||||
}
|
||||
IniWrite, %RumbleSecondaryPlatformsList%, %SettingsIniFilepath%, %ScriptSettingsSection%, RumbleSecondaryPlatformsList
|
||||
MsgBox 0x40, Rumble Secondary Platforms List Generated, Rumble Secondary Platforms List was genearted and all the available options were added to it.`n`nPlease edit the settings.ini file and remove any platforms you do not need selected from the follwoing KEY:`n`n[%ScriptSettingsSection%]`nRumbleSecondaryPlatformsList=
|
||||
@@ -201,7 +204,7 @@ 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%]
|
||||
XpathCheckbox = (//div[@class='relative shrink-0'])[%A_index%]
|
||||
|
||||
|
||||
try SecondaryPlatformCheckboxName := driver.findelementbyxpath(Xpath).Attribute("innerText") ;XPATH Inner Text
|
||||
@@ -241,11 +244,12 @@ if(ConfirmBeforeSubmit){
|
||||
*/
|
||||
|
||||
; 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]
|
||||
Xpath = (//span[normalize-space()='Next'])[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")
|
||||
Return
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -3,8 +3,6 @@ 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)
|
||||
@@ -14,17 +12,31 @@ try driver.executeScript("return document.readyState").equals("complete") ; wait
|
||||
|
||||
CheckForAlerts()
|
||||
|
||||
Message = Inputting Custom RTMP Settings into Rumble Studio
|
||||
SaveOrPostProgress(Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
||||
|
||||
|
||||
IniRead, LocalsRTMPURL, %PostStatusesFilepath%, Livestream,LocalsRTMPURL, %A_Space%
|
||||
IniRead, LocalsRTMPKey, %PostStatusesFilepath%, Livestream,LocalsRTMPKey, %A_Space%
|
||||
|
||||
IniRead, OdyseeRTMPKey, %PostStatusesFilepath%, Livestream,OdyseeRTMPKey, %A_Space%
|
||||
IniRead, OdyseeRTMPURL, %PostStatusesFilepath%, Livestream,OdyseeRTMPURL, %A_Space%
|
||||
|
||||
|
||||
if(LocalsRTMPURL = ""){
|
||||
Message = Skipping. No LocalsRTMPURL in Status.ini file
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||
Return
|
||||
}
|
||||
|
||||
if(OdyseeRTMPURL = ""){
|
||||
Message = Skipping. No OdyseeRTMPURL in Status.ini file
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||
Return
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loop, 10 {
|
||||
|
||||
; IndexPlusOne := A_index + 1
|
||||
@@ -35,20 +47,30 @@ Loop, 10 {
|
||||
|
||||
try SecondaryPlatformCheckboxName := driver.findelementbyxpath(Xpath).Attribute("innerText") ;XPATH Inner Text
|
||||
|
||||
; Msgbox % "SecondaryPlatformCheckboxName: " SecondaryPlatformCheckboxName
|
||||
if(SecondaryPlatformCheckboxName = "LOCALS RTMP USE" OR SecondaryPlatformCheckboxName = "ODYSEE RTMP"){
|
||||
|
||||
if(SecondaryPlatformCheckboxName = "LOCALS RTMP USE"){
|
||||
SiteRTMPURL := LocalsRTMPURL
|
||||
SiteRTMPKey := LocalsRTMPKey
|
||||
}
|
||||
|
||||
if(SecondaryPlatformCheckboxName = "ODYSEE RTMP"){
|
||||
SiteRTMPURL := OdyseeRTMPURL
|
||||
SiteRTMPKey := OdyseeRTMPKey
|
||||
}
|
||||
|
||||
Status := Selenium_LoopToClickXpath(Xpath:=XpathCheckbox,NumOfLoops:=2,SleepLength:=1000)
|
||||
if(Status){
|
||||
Message = Failed to click into 3 dot menu for -LOCALS RTMP USE-
|
||||
Message = Failed to click into 3 dot menu for %SecondaryPlatformCheckboxName%
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||
Return
|
||||
}
|
||||
|
||||
; 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-
|
||||
Message = Failed to click into 3 dot menu for %SecondaryPlatformCheckboxName%
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||
}
|
||||
|
||||
@@ -57,17 +79,20 @@ Loop, 10 {
|
||||
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)
|
||||
Status := Selenium_LoopToSendValueToXpath(Xpath:=XpathRTMP,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=SiteRTMPURL,ClearElement:=1)
|
||||
Status := Selenium_LoopToSendValueToXpath(Xpath:=XpathStreamkey,NumOfLoops:=2,SleepLength:=1000,StringTextContent:=SiteRTMPKey,ClearElement:=1)
|
||||
|
||||
; click save button
|
||||
Xpath = (//button[@class='rounded-full px-6 py-2 bg-primary/50 pointer-events-none'])[1]
|
||||
Xpath = (//button[@class='rounded-full block 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 Save Button
|
||||
Message = Failed to Click Save Button for %SecondaryPlatformCheckboxName% modified RMTP Settings
|
||||
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
||||
Return
|
||||
}
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
RumbleCustomRTMPs := "Success"
|
||||
IniWrite, %RumbleCustomRTMPs%, %PostStatusesFilepath%, Livestream,RumbleCustomRTMPs
|
||||
|
||||
BIN
Version.ini
BIN
Version.ini
Binary file not shown.
Reference in New Issue
Block a user