mastodon_main.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #!/usr/bin/python3
  2. from randstrip import createStrip,readConfig
  3. from mastodon import Mastodon
  4. import os
  5. import sys
  6. fileDir = os.path.dirname(os.path.abspath(__file__))
  7. fileDir = fileDir +"/"
  8. API_URL = "https://botsin.space"
  9. def publishStrip(altProfile=False,user=False):
  10. config = readConfig(platform="mastodon",profile=altProfile)
  11. with open(config["token"]) as f:
  12. createapp = f.readlines()
  13. createapp = [x.strip() for x in createapp]
  14. TOKEN = createapp[0]
  15. mastodon = Mastodon(access_token = TOKEN,api_base_url = API_URL)
  16. status,altText = createStrip(config,altTextRequested=True)
  17. if status == 0:
  18. published = False
  19. for i in range(1,100):
  20. try:
  21. new_strip = mastodon.media_post(config["saveLocation"]+config["filename"],"image/png",description=altText)
  22. if not(user):
  23. mastodon.status_post(config["text"],media_ids=new_strip)
  24. else:
  25. mastodon.status_post(user+" "+config["text"],media_ids=new_strip,visibility="direct")
  26. os.remove(config["saveLocation"]+config["filename"])
  27. published = True
  28. except:
  29. continue
  30. break
  31. if not(published):
  32. print("Auth error")
  33. else:
  34. print("error creating image\n")
  35. print(status)
  36. if __name__ == "__main__":
  37. if len(sys.argv) == 2:
  38. publishStrip([sys.argv[1]])
  39. else:
  40. publishStrip()