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.
169 lines
6.8 KiB
Plaintext
169 lines
6.8 KiB
Plaintext
PostToTelegram:
|
|
;------------------------------------------------
|
|
CurrentSocialMediaPosting := "Telegram"
|
|
|
|
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")
|
|
; 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)
|
|
|
|
|
|
LineBreakChar = `%0A ; Used for API
|
|
|
|
if(BitChuteURL != "")
|
|
VideoLinks .= "[BitChute](" . BitChuteURL . ") \| "
|
|
|
|
if(BrighteonURL != "")
|
|
VideoLinks .= "[Brighteon](" . BrighteonURL . ") \| "
|
|
|
|
if(OdyseeVideoURL != "")
|
|
VideoLinks .= "[Odysee](" . OdyseeVideoURL . ") \| "
|
|
|
|
if(OdyseeAudioURL != "")
|
|
VideoLinks .= "[Odysee \(Audio\)](" . OdyseeAudioURL . ") \| "
|
|
/*
|
|
if(OdyseeVideoURL != "")
|
|
VideoLinks .= "[Odysee](" . OdyseeVideoURL . ") \| "
|
|
|
|
if(OdyseeAudioURL != "")
|
|
VideoLinks .= "[Odysee Audio](" . OdyseeAudioURL . ") \| "
|
|
|
|
*/
|
|
if(RumbleURL != "")
|
|
VideoLinks .= "[Rumble](" . RumbleURL . ") \| "
|
|
/*
|
|
if(InStr(StreamanityURL, "https://streamanity.com/video/"))
|
|
VideoLinks .= "[Streamanity](" . StreamanityURL . ") \| "
|
|
|
|
*/
|
|
if(DailyMotionURL != "")
|
|
VideoLinks .= "[DailyMotion](" . DailyMotionURL . ") \| "
|
|
|
|
|
|
TelegramMessage := TelegramVideoTitle . "`n" . TelegramBodymessage . "`n" . VideoLinks
|
|
|
|
|
|
|
|
StrLenOfMessageAndVideoLinks := StrLen(TelegramVideoTitle) + StrLen(TelegramBodymessage) + StrLen(VideoLinks)
|
|
; DevModeMsgBox(StrLenOfMessageAndVideoLinks)
|
|
|
|
|
|
if(StrLenOfMessageAndVideoLinks > 1024){
|
|
; Telegram SendMessage is limited to 4096 characters
|
|
if(StrLenOfMessageAndVideoLinks < 4096){ ; split into sendphoto and 1 sendmessage
|
|
; DevModeMsgBox("Less than 4096 chars")
|
|
; 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
|
|
|
|
; Video Description goes into TelegramMessage
|
|
Status2 := SendTelegramMessage(TelegramBotToken, TelegramBotChatID, text := TelegramBodymessage)
|
|
|
|
} ; split into 2 SendMessages
|
|
else if (StrLenOfMessageAndVideoLinks > 4096 AND StrLenOfMessageAndVideoLinks < 8192){ ; Split into 2 parts
|
|
TelegramVideoTitle := TelegramVideoTitle . "`n" . VideoLinks
|
|
Status := SendTelegramPhoto(TelegramBotToken, TelegramBotChatID, VideoThumbFilepath, caption := TelegramVideoTitle ) ; you could add more options; compare the Telegram API docs
|
|
|
|
TelegramBodymessagePiece := SubStr(TelegramBodymessage, 1, 4096)
|
|
Status2 := SendTelegramMessage(TelegramBotToken, TelegramBotChatID, text := TelegramBodymessagePiece)
|
|
|
|
TelegramBodymessagePiece := SubStr(TelegramBodymessage, 4097, 8192)
|
|
Status3 := SendTelegramMessage(TelegramBotToken, TelegramBotChatID, text := TelegramBodymessagePiece)
|
|
|
|
} ; split into 3 sendMessages
|
|
else if (StrLenOfMessageAndVideoLinks > 8192 AND StrLenOfMessageAndVideoLinks < 12288){ ; Split into 3 parts
|
|
TelegramVideoTitle := TelegramVideoTitle . "`n" . VideoLinks
|
|
Status := SendTelegramPhoto(TelegramBotToken, TelegramBotChatID, VideoThumbFilepath, caption := TelegramVideoTitle ) ; you could add more options; compare the Telegram API docs
|
|
|
|
TelegramBodymessagePiece := SubStr(TelegramBodymessage, 1, 4096)
|
|
msgbox % StrLen(TelegramBodymessagePiece)
|
|
Status2 := SendTelegramMessage(TelegramBotToken, TelegramBotChatID, text := TelegramBodymessagePiece)
|
|
|
|
|
|
|
|
TelegramBodymessagePiece := SubStr(TelegramBodymessage, 4097, 8192)
|
|
msgbox % StrLen(TelegramBodymessagePiece)
|
|
DevModeMsgBox(TelegramBodymessagePiece)
|
|
Status3 := SendTelegramMessage(TelegramBotToken, TelegramBotChatID, text := TelegramBodymessagePiece)
|
|
|
|
; TelegramBodymessagePiece := SubStr(TelegramBodymessage, 8193, 12288)
|
|
; Status3 := SendTelegramMessage(TelegramBotToken, TelegramBotChatID, text := TelegramBodymessagePiece)
|
|
}
|
|
|
|
|
|
} else, { ; if less than 1024 characters, send normally
|
|
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. Error was saved to ErrorLogging file. Please send it to Yuriy.
|
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
|
|
|
; SaveOrPostProgress(Message:=Status,PostType:=",ErrorLoggingTextFile")
|
|
Message = Telegram Error: %Status%
|
|
SaveOrPostProgress(Message:=Message,PostType:="Tooltip,ErrorLoggingTextFile,ErrorSummaryVar,DiscordErrorLogging")
|
|
|
|
ToolTip
|
|
Return
|
|
}
|
|
|
|
}
|
|
; Msgbox % "SizeOfCaption: " SizeOfCaption
|
|
; SizeOfCaption := SizeOfCaption +
|
|
; Message .= VideoLinks
|
|
; msgbox % StrLen(VideoLinks)
|
|
|
|
; Message := StrReplace(Message, "`n", LineBreakChar) ; replace all new line characters with the global charater
|
|
|
|
; msgbox % StrLen(Message)
|
|
|
|
|
|
; SaveOrPostProgress(Message:=Message,PostType:="ErrorLoggingTextFile,DiscordVideos")
|
|
|
|
; 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
|
|
|
|
|
|
ToolTip
|
|
CurrentSite :=
|
|
Return
|
|
; -------------------------------/Telegram-------------------------------
|