From c7924f7cc78ea9d94d0c69eea95ab0bdf0c91fbc Mon Sep 17 00:00:00 2001 From: yuriy Date: Tue, 2 Jul 2024 19:24:31 -0400 Subject: [PATCH] minor code clearup and errorlogging additions --- Modules/Post-To-Telegram.ahk | 125 ++++++++++++++--------------------- 1 file changed, 48 insertions(+), 77 deletions(-) diff --git a/Modules/Post-To-Telegram.ahk b/Modules/Post-To-Telegram.ahk index e7dc5dd..785615e 100644 --- a/Modules/Post-To-Telegram.ahk +++ b/Modules/Post-To-Telegram.ahk @@ -15,62 +15,46 @@ 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") - ; Msgbox, 4096, Error!, TelegramBotToken or TelegramBotChatID is missing from %SettingsIniFilepath%. `nPlease input them and rerun the script. Return } -/* -; If description is longer than 2k chars, then API will error out. goto section that will allow user to edit video description to shorten it for posting -if(StrLen(SocialMediaDescription) > 2000 AND VideoDescriptionForVideosChannel = ""){ - goto, CreateDescriptionForVideosPosting -} -*/ -/* -if(SocialMediaDescription = ""){ - CreateDescriptionForSocialMedia() -} -if(SocialMediaDescription > 1000){ ; Telegram has a 1024 char media caption capacity - SocialMediaDescription := SubStr(SocialMediaDescription, 1, 500) -} -*/ -; @todo: split telegram message into multiple posts - -SubmitDescriptionForTelegramVideosChannel: 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") -} + 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(!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 != "") @@ -85,10 +69,6 @@ VideoLinks .= "[Rumble](" . RumbleURL . ") \| " if(DailyMotionURL != "") VideoLinks .= "[DailyMotion](" . DailyMotionURL . ") \| " -/*if(PodcastTranscriptURL != "") -VideoLinks .= "[Video Transcript](" . PodcastTranscriptURL . ") \| " - -*/ if(PodcastNumber != "") VideoLinks .= "[FDRPodcasts](" . "https://fdrpodcasts.com/" . PodcastNumber . ") \| " @@ -96,7 +76,6 @@ VideoLinks .= "[FDRPodcasts](" . "https://fdrpodcasts.com/" . PodcastNumber . ") TelegramMessage := TelegramVideoTitle . "`n" . TelegramBodymessage . "`n" . VideoLinks - StrLenOfMessageAndVideoLinks := StrLen(TelegramVideoTitle) + StrLen(TelegramBodymessage) + StrLen(VideoLinks) ; DevModeMsgBox(StrLenOfMessageAndVideoLinks) @@ -131,59 +110,51 @@ if(StrLenOfMessageAndVideoLinks < 4096){ ; 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 + ; Output returned data to ErrorLog File Message = API Response:`n%Status% SaveOrPostProgress(Message:=Message,PostType:=",ErrorLoggingTextFile") ; Video Description goes into TelegramMessage Status := SendTelegramMessage(TelegramBotToken, TelegramBotChatID, text := TelegramBodymessage) + ; Output returned data to ErrorLog File Message = API Response:`n%Status% SaveOrPostProgress(Message:=Message,PostType:=",ErrorLoggingTextFile") - } else, { - ; If Title, links and message are longer than 4096 chars, we need to split them into multiple messages - ; ------------------------------------------------ - TelegramVideoTitle := TelegramVideoTitle . "`n" . VideoLinks - Status := SendTelegramPhoto(TelegramBotToken, TelegramBotChatID, VideoThumbFilepath, caption := TelegramVideoTitle ) ; you could add more options; compare the Telegram API docs - - - ; 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] - +} +else, { + ; If Title, links and message are longer than 4096 chars, we need to split them into multiple messages + ; ------------------------------------------------ + TelegramVideoTitle := TelegramVideoTitle . "`n" . VideoLinks + Status := SendTelegramPhoto(TelegramBotToken, TelegramBotChatID, VideoThumbFilepath, caption := TelegramVideoTitle ) ; you could add more options; compare the Telegram API docs - Status := SendTelegramMessage(TelegramBotToken, TelegramBotChatID, text := Description) - ; Output returned data to ErrorLog File - Message = API Response:`n%Status% - SaveOrPostProgress(Message:=Message,PostType:=",ErrorLoggingTextFile") - ; Clipboard := Description - ; msgbox % Description + ; 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) + ; Output returned data to ErrorLog File + Message = Telegram API Response:`n%Status% + SaveOrPostProgress(Message:=Message,PostType:=",ErrorLoggingTextFile") } +} - ; SaveOrPostProgress(Message:="Video Links posted to #Videos Successfully.",PostType:="Tooltip,ErrorLoggingTextFile") - Message = Video Links Posted to Telegram Successfully - SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile") - GuiControl,, PostToTelegramButton, Telegram - Posted Successfully - - - ; sleep, 2000 - +; SaveOrPostProgress(Message:="Video Links posted to #Videos Successfully.",PostType:="Tooltip,ErrorLoggingTextFile") +Message = Video Links Posted to Telegram Successfully +SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile") +GuiControl,, PostToTelegramButton, Telegram - Posted Successfully - ToolTip - CurrentSite := - Return - ; -------------------------------/Telegram------------------------------- +ToolTip +CurrentSite := +Return +; -------------------------------/Telegram-------------------------------