from discord_webhook import DiscordWebhook, DiscordEmbed
from datetime import datetime

webhookURL = "https://discordapp.com/api/webhooks/740630755259973713/CNhxPBJ4C6UZ-m1DVXUQ54KeJQD3I9Di0sAwldmyjw-s7dMPUWplq7rhGXegpWGtKSve"
maxCharPerMessage = 1994

with open ("/etc/bacula/scripts/webhooks/RoboticsMail.md", "r") as myfile:
    cleaned_stdout=myfile.read()

if "Termination:            Backup OK" in cleaned_stdout:
    truncated_stdout = ["Job Backup-Robotics completed with status Backup OK, omitting full report.\nAll data from google drive was successfully written to tape on " + datetime.now().strftime("%d/%m/%Y %H:%M:%S") + "."]
else:
    # Discord limits each message to 2000 chars, if the message is longer than that, truncate it
    truncated_stdout = [cleaned_stdout[i:i+maxCharPerMessage] for i in range(0, len(cleaned_stdout), maxCharPerMessage)] 

print (truncated_stdout) # Print the truncated message


for message_part in truncated_stdout: # For every message part in the truncated output, run this loop
    message_part = "```" + message_part + "```" # Encapsulate the messsage
    print(message_part)
    webhook = DiscordWebhook(url=webhookURL, content=message_part) # Attach the message       
    response = webhook.execute() # Hit send
