rasselzombie Zitat

wall < "@rasselzombie, ein ebooks-Bot"

Broadcast message from spillerm@unixe.de (pts/1) (Fr Feb 10 14:38:36 2017):
4

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

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 UnterschriftGrundsätzlich ist das aber natürlich einfach nur eine Spielerei — mit der ich mich ins wohlverdiente Wochenende verabschiede.

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

  2. Marianne M. Spiller

    Du darfst die nienienie anschubsen, die geben dann einfach keine Ruhe mehr :D

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

Keine weitere Reaktionen mehr möglich.