@rasselzombie, ein ebooks-Bot
Update 2019: Ich muss vorwegnehmen, dass der
Ex-Twitter-Account@rasselzombie
inzwischen nicht mehr existiert. Update 2023: Inzwischen existiert Twitter auch nicht mehr. Daher habe ich alle Links entfernt. Den Artikel lasse ich der Vollständigkeit halber aber trotzdem online.
Mit @rasselzombie habe ich mir einen ebooks-Bot gebaut, der bedeutend poetischer, latent schlechter Laune und politisch deutlich unkorrekter ist als mein eigener Account. Er greift auf mein @sys_adm_ama-Ex-Twitter-Archiv von 2008 bis Januar 2017 zu. Das hatte ich heruntergeladen, archiviert und den Account anschließend grundsätzlich bereinigt. Manchmal muss das einfach sein.
Ich bin voll allein.
—
Ex-Twitter @rasselzombie (@rasselzombie), 28. Januar 2017
Der @rasselzobie-Bot läuft auf meinem Server. Machmal vergesse ich ihn zu starten, dann ist er ein paar Tage still. Ganz wie ein Großer halt! Beginnen wir die Einrichtung des Bots, indem wir das Ex-Twitter-Archiv unseres bestehenden Accounts anfordern (Ex-Twitter-Webseite → Einstellungen → Account → Dein Archiv anfordern). Ihr werdet von Ex-Twitter eine E-Mail mit einem Download-Link erhalten, und das kann dauern – bei mir mehrere Stunden. In der Zwischenzeit zeige ich euch, wie der Bot unter Debian 8 online gebracht werden kann. Er hat einen eigenen User-Account @rasselzombie
sowie ein eigenes $HOME
(/home/rasselzombie
) auf dem Server, und als solcher installiert er sich, was er braucht.
Sie reanimieren jetzt ein Twix.
—
Ex-Twitter @rasselzombie (@rasselzombie), 7. Februar 2017
$ gem install --user-install twitter_ebooks
....
Installing ri documentation for whatlanguage-1.0.6
Done installing documentation for addressable, awesome_print, buftok, coderay, domain_name, engtagger, equalizer, faraday, fast-stemmer, gingerice, highscore, htmlentities, http, http-cookie, http-form_data, http_parser.rb, memoizable, method_source, multipart-post, naught, oauth, pry, public_suffix, rufus-scheduler, simple_oauth, thread_safe, twitter, twitter_ebooks, tzinfo, unf, whatlanguage after 29 seconds
31 gems installed
Ich passe anschließend seine .profile
an, so dass der PATH
um die Ruby-Geschichten erweitert wird:
$ export PATH=$PATH:/home/rasselzombie/.gem/ruby/2.1.0/bin/
Jetzt wird der eigentliche Bot eingerichtet:
$ ebooks new Rasselzombie
New twitter_ebooks app created at Rasselzombie
$ cd Rasselzombie
$ bundle install --path /home/rasselzombie/.bundle
...
Your bundle is complete!
It was installed into /home/rasselzombie/.bundle
Hach, das wird lustig wenn wir beide tot sind.
—
Ex-Twitter @rasselzombie (@rasselzombie), 5. Februar 2017
Hoffentlich ist nun das Ex-Twitter-Archiv bereit, denn der kleine Bot muss es nun konsumieren: wir packen das Twitter-Archiv aus – ich habe die Datei tweets.csv
in sys_adm_ama.csv
umbenannt – und legen die CSV-Datei nach /home/rasselzombie/Rasselzombie/corpus/
. Anschließend können wir den Bot mit dem Archiv füttern:
$ ebooks consume corpus/sys_adm_ama.csv
Reading CSV corpus from corpus/sys_adm_ama.csv
Removing commented lines and sorting mentions
Tokenizing 11116 statements and 14927 mentions
1000 tokens
2000 tokens
...
46000 tokens
47000 tokens
Ranking keywords
Top keywords: Ich ich und
Corpus consumed to /home/rasselzombie/Rasselzombie/model/sys_adm_ama.model
Bei der Menge Blaulicht gerade wird mir dann warm.
—
Ex-Twitter @rasselzombie (@rasselzombie), 4. Februar 2017
Was der Bot nun natürlich benötigt: einen eigenen Ex-Twitter-Account. Wie ihr sowas einrichtet wisst ihr ja schon, da muss ich sicher nichts weiter zu sagen ;) Unter apps.twitter.com müsst ihr anschließend eine Ex-Twitter-App erstellen und ihr Read, Write and Access direct messages-Berechtigung zuweisen. Dummerweise geht das inzwischen wohl nur noch, wenn ihr eine gültige Telefonnummer für den Account hinterlegt. Unter dem Reiter Keys and Access Tokens findet ihr dann eure Tokens – gleich werden sie benötigt. Nun verpassen wir unserem Bot noch seine Logik:
$ cd /home/rasselzombie/Rasselzombie
$ mv bots.rb bots.rb-ORIG
$ wget https://raw.githubusercontent.com/mispy/ebooks_example/master/bots.rb
Ein gut sitzender BH ist soeben geplatzt.
—
Ex-Twitter @rasselzombie (@rasselzombie), 25. Januar 2017
Dieses Script muss noch ein wenig angepasst – mindestens müsst ihr einsetzen
- euren Usernamen,
- euer Access Token (als
bot.access_token
), - euer Access Token Secret (als
bot.access_token_secret
), - euer Consumer Key (als self.consumer_key),
- euer Consumer Secret (als
self.consumer_secret
) und - die Quelle, aus der Tweets generiert werden sollen (
bot.original
).
Esse deshalb jetzt Kakao aus einem Messbecher, da nichts anderes da ist und ich zu faul zum aufstehen bin :(
—
Ex-Twitter @rasselzombie (@rasselzombie), 24. Januar 2017
Jetzt kann der kleine Freund das erste Mal gestartet werden. Ich stecke ihn hierzu in aller Regel in einen screen
, da kann er sich dann austoben. Wie ihr das macht sei euch überlassen – ihr habt sicher selbst ganz viele Ideen :D
$ screen -DRS bot
$ cd /home/rasselzombie/Rasselzombie
$ ebooks start
@rasselzombie: User information updated
@rasselzombie: Loading model model/sys_adm_ama.model
@rasselzombie: starting tweet stream
@rasselzombie: Online!
Ich bin gerade sehr verlockend.
—
Ex-Twitter @rasselzombie (@rasselzombie), 28. Januar 2017
Auf Ansprache reagiert er sehr prompt, wenn auch nicht unbedingt sinnvoll. Und die Diskussionen, die er sich mit anderen Bots liefert, sind ziemlich lesenswert :D Grundsätzlich ist das aber natürlich einfach nur eine Spielerei – mit der ich mich ins wohlverdiente Wochenende verabschiede.
Hintergrundbild: 692x 310px, Bild genauer anschauen – © Marianne Spiller – Alle Rechte vorbehalten