2023-09-17 15:52:44 -04:00
; -------------------------------Telegram-------------------------------
; API documentation
; https://core.telegram.org/bots/api#sendmessage
PostToTelegram:
CurrentSite := " Telegram "
; SaveOrPostProgress(Message:="Posting through API",PostType:="Tooltip,ErrorLoggingTextFile")
Message = Posting Through API
SaveOrPostProgress ( Message := Message , PostType := " Tooltip,ErrorLoggingTextFile,DiscordErrorLogging " )
if ( TelegramBotToken = " " Or TelegramBotChatID = " " ) {
Message = TelegramBotToken or TelegramBotChatID is missing from %SettingsIniFilepath% . `n Please input them and rerun the script .
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
}
LineBreakChar = `% 0 A ; Used for API
TelegramTitle := ASCIISTRReplace ( PostTitle )
TelegramBody := ASCIISTRReplace ( PostBody )
/* TelegramTitle := PostTitle
TelegramBody := PostBody
* /
; Msgbox % "TelegramBody: " TelegramBody
if ( PostBody = " " ) {
if ( BoldTitleWAPI )
Message := " * " . TelegramTitle . " * "
else ,
Message := TelegramTitle
}
else , { ; if postbody is not blank
; MsgBox, we in post body
if ( BoldTitleWAPI ) {
if ( NewLineBetweenTitle )
Message := " * " . TelegramTitle . " * " . " `n `n " . TelegramBody
else ,
Message := " * " . TelegramTitle . " * " . " `n " . TelegramBody
}
else , { ; NOT Bold Title
if ( NewLineBetweenTitle )
Message := TelegramTitle . " `n `n " . TelegramBody
else ,
Message := TelegramTitle . " `n " . TelegramBody
}
}
; Msgbox % "Message: " Message
; REMOVE
; Message := PostTitle . "`n" . PostBody
; Msgbox % "TelegramTitle: " TelegramTitle
; Msgbox % "TelegramBody: " TelegramBody
; Msgbox % "Message: " Message
if ( ImageAttachmentFilepath != " " AND StrLen ( Message ) > 1020 ) { ; utilize function that converts image to MIME/multi form
; Telegram API character limit of 4096 for a basic message.
; @todo: add functionality to split messages longer than 4096 characters
; msgbox, 2
if ( BoldTitleWAPI )
TelegramTitle := " * " . TelegramTitle . " * "
else ,
TelegramTitle := TelegramTitle
Status := SendTelegramPhoto ( TelegramBotToken , TelegramBotChatID , ImageAttachmentFilepath , caption := TelegramTitle ) ; you could add more options; compare the Telegram API docs
Status := SendTelegramMessage ( TelegramBotToken , TelegramBotChatID , text := TelegramBody )
}
else if ( ImageAttachmentFilepath != " " AND StrLen ( Message ) < = 1020 ) {
Status := SendTelegramPhoto ( TelegramBotToken , TelegramBotChatID , ImageAttachmentFilepath , caption := Message ) ; you could add more options; compare the Telegram API docs
}
else ,
{ ; send just the text
; Msgbox % "Message: " Message
Status := SendTelegramMessage ( TelegramBotToken , TelegramBotChatID , text := Message )
}
2024-07-04 00:18:26 -04:00
if ( instr ( Status , " error_code " ) ) {
Message = Upload Failed Due To API Issue . Please See Error Log For Details
SaveOrPostProgress ( Message , PostType := " Tooltip,ErrorLoggingTextFile,DiscordErrorLogging " )
Message = Telegram API Returned Data : `n %Status%
SaveOrPostProgress ( Message := Message , PostType := " ErrorLoggingTextFile " )
2023-09-17 15:52:44 -04:00
Return
}
; SaveOrPostProgress(Message:=Message,PostType:=",ErrorLoggingTextFile,DiscordParler")
IniWrite , Successful , %StatusFileFilePath% , Status , Telegram
AddToTotalPostsPostedCount ( )
Message = Post Publish Successful
SaveOrPostProgress ( Message := Message , PostType := " Tooltip,ErrorLoggingTextFile,DiscordErrorLogging " )
Return
; -------------------------------/Telegram-------------------------------