Ja schon. Hab’ extra vorher geprüft, ob ein Bot dort cool ist. Hatte das auch disputed, aber kam nie eine Reaktion. Würde dort aktuell keinen Account empfehlen tbh., wenn da die Gefahr besteht, ohne jegliche Vorwarnung, perma banned zu werden. Naja, der Admin von Ganetoots.de ist jedenfalls ein netter Dude
Das Leben ist kurz, vor allem als Twitter Bot Elon will jetzt Geld für seinen Müll und bevor ich ihm und seinen Schergen Geld in den Rachen werfe, nehme ich den Bot offline. Schade, drum.
Es gibt von Nitter einen RSS-Feed zu Twitter-Profilen. Ist vielleicht nicht ganz wie die offizielle API, aber könnte reichen, um daraus einen Mastodon-Bot zu basteln:
Coole Idee und Danke für den Hinweis! Hatte deinen toot auf Masto noch im Hinterkopf. Sorry, dass ich erst so Spät geantwortet habe. War im Urlaub Ich will mir das mal am Wochenende anschauen
Ah! Sehr schön. Das ist ja schön in einzelne Dateien unterteilt. Also fehlt im Wesentlichen eine Komponente, die sich um Nitter-RSS kümmert und einen Nachbau von getTweets() bereitstellt. Beim Angeben der Quelle müsste man (wenn gewünscht) die Adresse der Nitter-Instanz zu Twitter umschreiben.
Die Sache ist, dass man bei Nitter ja eigene Instanzen betreiben kann und man nicht weiß, wie lange eine Instanz lebt. Während man recht leicht im Bot tauschen kann, von welcher Instanz die Tweets ändern kann, bleiben Nitter-Links auf Mastodon, wenn die Instanz offline geht, kaputt.
Ja, da sagst du was. Ich hatte mir den RSS Feed von Nitter angeschaut und afaik liefert der keine Videos aus, sondern nur die Thumbnails. Damit hätte der Bot keine Möglichkeit die Videos zu reposten und auf die kommt es eigentlich mit am Meisten an Dabei ist mir auch die Instabilität der Nitter Instanzen aufgefallen. Empfand ich nicht als Showstopper aber naja…
Dennoch wollte ich wissen wie Nitter eigentlich diese ominöse inoffizielle API nutzt und hab mir den Quellcode angeschaut. Sieht ganz danach aus, als könnte man einen statischen Guest Token aus der bundle.js von Twitter schneiden und damit einige Calls gegen das Backend zu machen. Das nutzt quasi die Tweetvorschau für nicht-angemeldete User:innen aus. Fand ich ganz spannend, aber hatte leider noch keine Zeit.
Hmm ich muss meine Aussage revidieren. Die Videos sind auf piped.video gehosted. Jetzt wäre die Frage, ob man die von dort runter bekommt, um sie auf die Mastodon Instanz zu laden. Mir ist eben auch aufgefallen, dass die Replies im RSS Feed unsauber gekennzeichnet sind. Dürfe gehen aber ist eher frikelig.
… stammen die Videos denn nicht eigentlich ursprünglich von euch selbst (sowie die Text-Inhalte), und könnt ihr dann nicht einfach diese Primärquelle für den Vertrieb über Mastodon nutzen? Oder, ganz wild gedacht: einfach was eigenes Mastodon-artiges für RBTV aufsetzen und in eure „Social-Media-Pipeline“ einbinden?
Wir evaluieren intern bereits ob und wie wir Mastodon in Zukunft bedienen können / wollen. Ich hatte einfach versucht bis dahin eine schnelle (zugegeben dreckige) Lösung zu finden, damit wir alle (und vor allem ich selbst hehe) wieder RBTV News bekomme, nachdem ich Twitter endgültig verabschieded habe.
Tatsächlich sagst du da nichts falsches. Vielleicht wäre es bei dem zu erwartenden Aufwand leichter einfach den Post direkt absetzen zu lassen oder vll die Arbeit in einen Crossposter zu stecken
Ja. Das stimmt wohl. Im RSS sind dann Bilder mit URLs der Form https://nitter.net/pic/ext_tw_video_thumb%2F1671918457552617472%2Fpu%2Fimg%2F7RcGTMbIsDfvA1B_.jpg . Wenn man solche Bild-URLs sieht, muss man dem Link des RSS-Items folgen.
Da hat man dann so ein Stück html vom Video-Player:
Im Attribut data-url steckt die Adresse eines m3u8-Streams. Man kann entweder die URL selbst unterhalb von Nitter.net benutzen oder die URL-kodierte URL (in diesem Fall kodiert https%3A%2F%2Fvideo.twimg.com%2Fext_tw_video%2F1671918457552617472%2Fpu%2Fpl%2FYGK1VPE4tbalaI8O.m3u8%3Ftag%3D12%26container%3Dfmp4 und dekodiert ) direkt bei Twitter selbst. Das kann man dann mit gängigen Mitteln wie yt-dlp runtergeladen werden.
piped.video ist einfach ein inoffizielles YouTube-Interface. In den URLs kannst du einfach piped.video durch www.youtube.com ersetzen und den Rest yt-dlp erledigen lassen.