From cb46b5ce9fec6a6c3dc681aee1e6862274cd997b Mon Sep 17 00:00:00 2001 From: Mechseroms Date: Wed, 6 May 2026 15:34:08 -0500 Subject: [PATCH] First Push --- __pycache__/main.cpython-314.pyc | Bin 0 -> 2028 bytes main.py | 40 +++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 __pycache__/main.cpython-314.pyc create mode 100644 main.py diff --git a/__pycache__/main.cpython-314.pyc b/__pycache__/main.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b374cb95b2ea217268784aa21abb4153b0740e6d GIT binary patch literal 2028 zcmZ`)%}*Og6rcTGo5cYF<-2wWO5*ZiDUhatHce01y8F(&&m;6Z6^bNy%zg%#47!O_W*A*z2y=xcY>>+AFn5I~d=SktCs4NsCxXfm zQRRs=%b!5A(yXWo=h?$W!p#cfl^*cDNfo=9Ls6A#kt)}s<%*I$pXxh_!u~fD5N2Iz zP(g+WqQ~Qg<7mWMGEyMf zrZ%TLhPHy2)BebuWi2^Gk1xgP^*t95b(Vu~zZHfIilLkAC*L5H09_Nh&MYu0GXpD! z6k)(Q_6^#9J0l>cpX@Tiou*f|WEPi+aMkvz{^{aVueT*w|V$;>0O= z+%bpE#JmBrnd-FHT}9LMRLUYcF*FUAgC!aP=Qs=*^bXZB&2Q=Oc&ae%gBlgwp$sJn zzI*WPH^C)aP_W?Ac+pvk@TeHEA*7;3aCVK!a3g{r*~|=mjsmGnjOq5WA&6qkcrnY0 z0GL%)<%$@aJp#k4sD$B;zzC36-dQ$(1V)OK?ELRtWYt%)Ask`Dua=cCVoX$!s+?tQ zDaN1nyh;RU=wp&v9^+v(aF%PQaqtL`TnP#F*o3AW1^pM%h-Snhe%x2&{+(k|v4VoA z5vdjGahg~X8u>YdW(qYd|ziYQzn5)kuVFeSO)|6FshAtQskjuIPhenV`iITCo$5 zj4lU7nGFhcZaMy6LJ}Ux*>|Og+sRG5HmF&B37u_HhSna3WYuh*QKb* zu;lWKj+Jr+8=EQOa`Ogpx-_%4V##N<{W~2;DE` ziWhRzQ@JS{dnUK$Wo6Hg%0Jj9xw57l-}JTv9Xt8wK`T;f4iHPx<+;E|kNTd;k$gpc z_T0nMkGme>AJ6BGbv>86{@N1&^S3hyZ}D~YfWmyw^w;ta`Wk`#rOQXh&uaSX(N2{J z{7!w@fREd0Z5ZIWor?_RFA1Q3!VADZ@o~V9hW)N|3;sW#+hf|f3f&lgNIBZBTu!%b zx8~aAiOI2nu~7~FjI_SX6H)DkI`Y1{zdt%Lp-qlmjgGoJO_V~+en1$y0XmGY{Atok ztSlQBaR=yVr8#3T>~Rdkyh5$NqUPVk@_S~6+Y?bkZw}Su>!L8e6_HY%uRI061A$Z6 gj0_LR3g6bUH||9 literal 0 HcmV?d00001 diff --git a/main.py b/main.py new file mode 100644 index 0000000..b936adb --- /dev/null +++ b/main.py @@ -0,0 +1,40 @@ +from fastapi import FastAPI, Request +from mastodon import Mastodon + +app = FastAPI() + +# Configure from environment variables (recommended) +MASTODON_API_BASE_URL = "https://mastodon.versi-tech.com" +MASTODON_ACCESS_TOKEN = "xQUR-poG42E_PVqYs6-vZ9WmWngfcG_h9vzXPJVlqQY" + +# Initialize Mastodon client +mastodon = Mastodon( + access_token=MASTODON_ACCESS_TOKEN, + api_base_url=MASTODON_API_BASE_URL +) + +@app.post("/bookstack") +async def receive_bookstack_webhook(request: Request): + payload = await request.json() + print("Received payload:", payload) + + event = payload.get('event', 'BookStack update') + url = payload.get('url', None) + summary = payload.get('summary', '') + actor = payload.get('initiator', {}).get('name', 'Someone') + text = payload.get('text', 'Someone triggered on event on the Bookstack') + + status = f"{text}.\n\n" + if summary: + status += f"Summary: {summary}\n" + if url: + status += f"{url}" + + try: + mastodon.status_post(status) + pass + except Exception as ex: + print("Error posting to Mastodon:", ex) + return {"success": False, "error": str(ex)} + + return {"success": True} \ No newline at end of file