Ich hoffe, dass das hier passt: Ich würde gerne diverse Links automatisiert in /c/geschichte posten. Die Links habe ich, ich hab für Reddit auch einen passenden Workflow zum Suchen von neuen Geschichts-Links, ich kann etwas Python und hier anscheinend auch mein Profil als Bot markieren. Und wenn man googlet, gibt es anscheinend auch einen Javascript-basierten AI-Art-Bot, eine Javascript-Library und eine etwas spartanische offizielle API-Doku.
Aber ich steh total auf dem Schlauch. Hat jemand den richtigen Tipp, wie ich hier per Python ganz banal einen Link in eine Community einreiche?
Puzzle-Lösen gehört zum Programmieren dazu, daher kann ich dir das jetzt nicht vollkommen vorkauen (ohne es nicht direkt selbst zu implementieren), aber ich würde versuchen anhand der TypeScript-API hier zu adaptieren: https://join-lemmy.org/api/classes/LemmyHttp.html#login
Also z.B. bei der login-Methode, das will einen Parameter
form
vom TypLogin
. Wenn du dann in der Doku aufLogin
draufklickst, siehst du, dass es ein Typ mit zwei Feldern ist:username_or_email
:string
password
:string
Ich gehe davon aus, dass die API JSONs frisst, daher das Ganze in einem JSON kodiert:
{ "username_or_email": "mettwurstkaninchen", "password": "123456" }
Dann wieder bei der Login-Methode geschaut, da steht:
HTTP.POST /user/login
D.h. deiner Python HTTP-Client-Bibliothek sagen, sie soll das JSON mittels
post
-HTTP-Methode (und daher im HTTP-Body) an die URLhttps://feddit.de/user/login
schicken.Als Antwort wirst du dann vermutlich wieder irgendein JSON bekommen, mit vermutlich einem
auth
-Feld dessen Inhalt mitey
beginnt.¹Diesen Inhalt kannst du dann in das
auth
-Feld bei der createPost-Methode stopfen. Und das Ganze eben wieder nach dem gleichen Schema befüllen, wie die login-Methode.¹ Das
auth
-Feld beginnt mitey
, weil darin ein Base64-kodiertes JSON ist, und das Zeichen{
in Base64 eben alsey
kodiert wird.