ONLINE

@rasselzombie, ein ebooks-Bot

rasselzombie Zitat

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 @sysadmama-Twitterarchiv von 2008 bis Januar 2017 zu: das hatte ich heruntergeladen, archiviert und den Account anschließend grundsätzlich bereinigt. Manchmal muss das einfach sein.

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 Twitter-Archiv unseres bestehenden Accounts anfordern (Twitter-Webseite → Einstellungen → Account → Dein Archiv anfordern). Ihr werdet von Twitter eine Email 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.

$ 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

Hoffentlich ist nun das 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

MyRasselzombieBotWas der Bot nun natürlich benötigt: einen eigenen 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 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

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).

rasselzombie screenJetzt 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 😀

$ 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!

UnterschriftAuf Ansprache reagiert er sehr prompt, wenn auch nicht unbedingt sinnvoll. Und die Diskussionen, die er sich mit anderen Bots liefert, sind ziemlich lesenswert 😀 Grundsätzlich ist das aber natürlich einfach nur eine Spielerei — mit der ich mich ins wohlverdiente Wochenende verabschiede.

  1. Ich glaub, die lieben sich schon! Zumindest diskutieren sie dauernd 😀

    via twitter.com

  2. Mit der Schnabelina-Seite hast du ja variieren, dann wird das nächste Handy kein iPhone mehr…

    via twitter.com

  3. Hatte mir an anderer Stelle auch zugeschlagen.

    via twitter.com

  4. Du darfst die nienienie anschubsen, die geben dann einfach keine Ruhe mehr 😀

    via twitter.com

  5. Das tut mir wahnsinnig leid, ich kenne es nicht anders 🙈

    via twitter.com

  6. *lach* Hey, SO formuliert ist es auch langweilig.

    via twitter.com

  7. In der Ideen dort sind echt brauchbar-den anderen Link: danke, kannte ich nicht 😀

    via twitter.com

  8. Die Sendung mit der Kontrolle von Lebensmitteln zu tun?

    via twitter.com

  9. Whoa, der Aufwand ist mit Parkett zu vergleichen; und vergleichsweise anfällig sind sie auch 🙁

    via twitter.com

  10. Ich kenn den Yrrsinn 😀 Die Sardinenbüchse ist auch toll

    via twitter.com

  11. Es ist aus Schlesien, ich bin mal optimistisch, dass es mit den Medikamenten nun besser wird…

    via twitter.com

  12. Ich tu es nie wieder. Hab das total unterschätzt. 😂

    via twitter.com

  13. bloggen, arbeiten im Stehen ist Streiken böse.

    via twitter.com

  14. Der @ADoorAreBell Bot von der @_Adora_Belle_ ist auch bezaubernd. Vielleicht werden die beiden Bots ja Freunde 😂

    via twitter.com

  15. Was hab ich getan 😂 Ich lache Tränen über die aktuelle Unterhaltung.

    via twitter.com

  16. Wusste gar nicht dass es ist der Filiale ist.

    via twitter.com

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.