You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
176 lines
7.4 KiB
Plaintext
176 lines
7.4 KiB
Plaintext
PostToTelegram:
|
|
;------------------------------------------------
|
|
CurrentSite := "Telegram"
|
|
|
|
if(!FileExist(VideoThumbFilepath)){
|
|
Message = Post Aborted.`nVideo Thumbnail not found at:`n%VideoThumbFilepath%
|
|
SaveOrPostProgress(Message,PostType:="ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
|
MsgBox 0x10,, %Message%
|
|
Return
|
|
}
|
|
|
|
|
|
Message = Posting Video Links to Telegram
|
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
|
|
|
IniRead, TelegramBotToken, %SettingsIniFilepath%, SocialMediaPoster, TelegramBotToken, %A_Space%
|
|
IniRead, TelegramBotChatID, %SettingsIniFilepath%, SocialMediaPoster, TelegramBotChatID, %A_Space%
|
|
|
|
|
|
LineBreakChar = `%0A ; Used for Telegram API
|
|
|
|
if(TelegramBotToken = "" Or TelegramBotChatID =""){
|
|
Message = TelegramBotToken or TelegramBotChatID is missing from %SettingsIniFilepath%. `nPlease input them and click the button again.
|
|
msgbox, 4096, Error!, %Message%
|
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
|
Return
|
|
}
|
|
|
|
|
|
TelegramVideoTitle := ASCIISTRReplace(VideoTitle)
|
|
TelegramVideoTitle := "*" . TelegramVideoTitle . "*"
|
|
|
|
TelegramBodymessage := ASCIISTRReplace(VideoDescription)
|
|
|
|
; Variables
|
|
LineBreakChar = `%0A ; Used for API
|
|
VideoLinks :=
|
|
|
|
|
|
; Create the Hyperlinks for each Platform
|
|
; ------------------------------------------------
|
|
; check the status of the Bitchute URL to see if it's done processing
|
|
; shows "404 - Page not found" on page if not
|
|
if(BitChuteURL){
|
|
if(!InStr(URLDownloadToVar(BitChuteURL), "404 - Page not found")){
|
|
if(BitChuteURL != "")
|
|
VideoLinks .= "[BitChute](" . BitChuteURL . ") \| "
|
|
}
|
|
else, {
|
|
LogMessage = Bitchute URL skipped, URL Currently leads to: 404 - page not found
|
|
SaveOrPostProgress(Message:=LogMessage,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
|
}
|
|
}
|
|
|
|
; check the status of the Brighteon URL to see if it's done processing
|
|
; shows "404 - Page not found" on page if not
|
|
if(BrighteonURL){
|
|
if(!InStr(URLDownloadToVar(BrighteonURL), "SELECTED IS NOT CURRENTLY AVAILABLE")){
|
|
if(BrighteonURL != "")
|
|
VideoLinks .= "[Brighteon](" . BrighteonURL . ") \| "
|
|
}
|
|
else, {
|
|
LogMessage = Brighteon URL skipped, URL Currently leads to: 404 - page not found
|
|
SaveOrPostProgress(Message:=LogMessage,PostType:="Tooltip,ErrorLoggingTextFile,DiscordErrorLogging")
|
|
}
|
|
}
|
|
|
|
if(OdyseeVideoURL != "")
|
|
VideoLinks .= "[Odysee](" . OdyseeVideoURL . ") \| "
|
|
|
|
if(OdyseeAudioURL != "")
|
|
VideoLinks .= "[Odysee \(Audio\)](" . OdyseeAudioURL . ") \| "
|
|
|
|
if(RumbleURL != "")
|
|
VideoLinks .= "[Rumble](" . RumbleURL . ") \| "
|
|
|
|
if(DailyMotionURL != "")
|
|
VideoLinks .= "[DailyMotion](" . DailyMotionURL . ") \| "
|
|
|
|
if(PodcastNumber != "")
|
|
VideoLinks .= "[FDRPodcasts](" . "https://fdrpodcasts.com/" . PodcastNumber . ") \| "
|
|
|
|
|
|
TelegramMessage := TelegramVideoTitle . "`n" . TelegramBodymessage . "`n" . VideoLinks
|
|
|
|
|
|
StrLenOfMessageAndVideoLinks := StrLen(TelegramVideoTitle) + StrLen(TelegramBodymessage) + StrLen(VideoLinks)
|
|
|
|
; If Length of Title, Video Links and Message is less than 1024 characters:
|
|
; ------------------------------------------------
|
|
if(StrLenOfMessageAndVideoLinks < 1024) {
|
|
Message = Sending Post as One Message
|
|
SaveOrPostProgress(Message,PostType:="Tooltip,ErrorLoggingTextFile")
|
|
|
|
Status := SendTelegramPhoto(TelegramBotToken, TelegramBotChatID, VideoThumbFilepath, caption := TelegramMessage ) ; you could add more options; compare the Telegram API docs
|
|
if(InStr(Status, "error_code")){
|
|
Message = Telegram Post Failed Due To An Api Issue. Please See Errorlog For More Info.
|
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
|
}
|
|
Message = API Response:`n%Status% ; Output returned data to ErrorLog File
|
|
SaveOrPostProgress(Message:=Message,PostType:=",ErrorLoggingTextFile")
|
|
}
|
|
|
|
|
|
; If Title, Links and Message are longer than 1024, but less than 4096, split into 2 pieces: sendphoto and sendmessage
|
|
; ------------------------------------------------
|
|
if(StrLenOfMessageAndVideoLinks < 4096){
|
|
Message = Sending Post as Two Messages
|
|
SaveOrPostProgress(Message,PostType:="Tooltip,ErrorLoggingTextFile")
|
|
|
|
; Photo and Video Title go into SendPhoto
|
|
TelegramVideoTitle := TelegramVideoTitle . "`n" . VideoLinks
|
|
Status := SendTelegramPhoto(TelegramBotToken, TelegramBotChatID, VideoThumbFilepath, caption := TelegramVideoTitle ) ; you could add more options; compare the Telegram API docs
|
|
if(InStr(Status, "error_code")){
|
|
Message = Telegram Post Failed Due To An Api Issue. Please See Errorlog For More Info.
|
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
|
}
|
|
Message = API Response:`n%Status% ; Output returned data to ErrorLog File
|
|
SaveOrPostProgress(Message:=Message,PostType:=",ErrorLoggingTextFile")
|
|
|
|
|
|
; Video Description goes into TelegramMessage
|
|
Status := SendTelegramMessage(TelegramBotToken, TelegramBotChatID, text := TelegramBodymessage)
|
|
if(InStr(Status, "error_code")){
|
|
Message = Telegram Post Failed Due To An Api Issue. Please See Errorlog For More Info.
|
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
|
}
|
|
Message = API Response:`n%Status% ; Output returned data to ErrorLog File
|
|
SaveOrPostProgress(Message:=Message,PostType:=",ErrorLoggingTextFile")
|
|
|
|
}
|
|
else, {
|
|
; If Title, links and message are longer than 4096 chars, we need to split them into multiple messages
|
|
; ------------------------------------------------
|
|
Message = Sending Post as Multiple Messages
|
|
SaveOrPostProgress(Message,PostType:="Tooltip,ErrorLoggingTextFile")
|
|
|
|
TelegramVideoTitle := TelegramVideoTitle . "`n" . VideoLinks
|
|
Status := SendTelegramPhoto(TelegramBotToken, TelegramBotChatID, VideoThumbFilepath, caption := TelegramVideoTitle ) ; you could add more options; compare the Telegram API docs
|
|
if(InStr(Status, "error_code")){
|
|
Message = Telegram Post Failed Due To An Api Issue. Please See Errorlog For More Info.
|
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
|
}
|
|
Message = API Response:`n%Status% ; Output returned data to ErrorLog File
|
|
SaveOrPostProgress(Message:=Message,PostType:=",ErrorLoggingTextFile")
|
|
|
|
; Split the Description into 4096 character chunks while preserving sentences
|
|
; Used 4095 because a ". " has to be put in at the end of the chunk.
|
|
VideoDescriptionChunks := SplitStringWithSentences(TelegramBodymessage, 4094)
|
|
|
|
|
|
; go through array and post each chunk as new message
|
|
Loop % VideoDescriptionChunks.Length(){
|
|
; ArrayItem := ARRAY[A_Index]
|
|
Description := VideoDescriptionChunks[A_Index]
|
|
|
|
|
|
Status := SendTelegramMessage(TelegramBotToken, TelegramBotChatID, text := Description)
|
|
if(InStr(Status, "error_code")){
|
|
Message = Telegram Post Failed Due To An Api Issue. Please See Errorlog For More Info.
|
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
|
}
|
|
Message = API Response:`n%Status% ; Output returned data to ErrorLog File
|
|
SaveOrPostProgress(Message:=Message,PostType:=",ErrorLoggingTextFile")
|
|
}
|
|
}
|
|
|
|
Message = Video Links Posted to Telegram Successfully
|
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile")
|
|
GuiControl,, PostToTelegramButton, Telegram - Posted Successfully
|
|
|
|
ToolTip
|
|
CurrentSite :=
|
|
Return
|
|
; -------------------------------/Telegram-------------------------------
|