RBTV Twitter Posts auf Mastodon

Moin,

ich hatte etwas Freizeit und dachte mir, ich bastel mal einen kleinen Bot der alle Twitter Posts des RBTV Accounts ins Fediverse (Mastodon) spiegelt.

Falls noch jemand RBTV News auf Mastodon nice findet, bitte hier entlang → RBTV_Bot (@[email protected]) - GameToots

Tschö und schöne Feiertage :slight_smile:

20 „Gefällt mir“

Moin zusammen,

leider haben die Admins von https://det.social den Bot grundlos blockiert. Daher läuft der nun unter RBTV_Bot (@[email protected]) - GameToots weiter :slight_smile:

Bitte also ab jetzt diesem Account folgen! :+1:

Das ist mies. Sie hätten zumindest erlauben sollen, dass du eine Weiterleitung einrichtest.

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 :+1:

Das Leben ist kurz, vor allem als Twitter Bot :pensive: 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.

Danke an alle Follower!

https://twitter.com/TwitterDev/status/1621026986784337922​

2 „Gefällt mir“

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:

https://nitter.net/therocketbeans/rss

1 „Gefällt mir“

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 :sunglasses: Ich will mir das mal am Wochenende anschauen :+1:

1 „Gefällt mir“

Ah. Super! Dann sorry für den Spam. Dachte, es sei auf Mastodon im Spamfilter oder so gelandet. Dann rückwirkend einen erholsamen Urlaub.

Hattest du den Bot eigentlich selbst gebaut? Oder hast du zufällig einen der drei hier verwendet?

Die können nämlich von sich aus neben Twitter (und Tumblr im Fall des Ersten) auch RSS.

Letzteres benutzt im Beispiel tatsächlich schon Nitter und RSS als Quelle für die Tweets.

1 „Gefällt mir“

Ist tatsächlich selbst geschrieben. Wollte das einfach auch irgendwie als kleines Projekt eigenständig umsetzen :slight_smile:

Hast du irgendwo Code, in den man mal reinschauen kann?

Sure thing, here ya go → GitHub - r0oto0r/twitter-bot

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.

Danke :blush:
ja da hast du recht, das müsste es im Prinzip gewesen sein. Ich glaube ich würde auf Nitter verweisen, einfach um denen Traffic zu gönnen :thinking:

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 :yum: 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.

1 „Gefällt mir“

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.

1 „Gefällt mir“

… 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? :upside_down_face:

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 :thinking:

4 „Gefällt mir“

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:

<video poster="/pic/ext_tw_video_thumb%2F1671918457552617472%2Fpu%2Fimg%2F7RcGTMbIsDfvA1B_.jpg%3Fname%3Dsmall%26format%3Dwebp" data-url="/video/6A21D38EFB822/https%3A%2F%2Fvideo.twimg.com%2Fext_tw_video%2F1671918457552617472%2Fpu%2Fpl%2FYGK1VPE4tbalaI8O.m3u8%3Ftag%3D12%26container%3Dfmp4" data-autoload="false"></video>

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.

1 „Gefällt mir“

nice, danke für den Hinweis. yt-dlp war mir neu, finde ich richtig spannend. Ich glaube ich muss den Code mal nochmal hervorkramen :slight_smile: