Tutorial: So richten Sie mit R einen Twitter-Bot ein

Anlässlich des 10.000 R-Pakets auf CRAN hat eoda ab dem 22.12.2016 bis zum Erscheinen des 10.000 Pakets am 28.01.2017 einen Twitter Account betrieben, der regelmäßig die aktuelle Anzahl der auf CRAN verfügbaren Pakete gepostet hat.

Zum Betrieb dieses Accounts haben wir ein R-Skript geschrieben, das stündlich auf CRAN die aktuelle Anzahl R-Pakete ausgelesen und mit Hilfe der Twitter API sowie dem twitteR Paket einen Tweet mit dem aktuellen Stand abgesendet hat.

Zur Nutzung der Twitter API ist es notwendig, für einen Twitter Account eine entsprechende App zu erstellen.

Dazu auf apps.twitter.com mit dem jeweiligen Account anmelden und unter Create New App das Formular ausfüllen.

Einrichten einer Twitter App auf apps.twitter.com
Einrichten einer Twitter App auf apps.twitter.com

Im nächsten Fenster lassen sich u.a. die Permissions der App steuern, „Read only“, „Read and Write“ oder „Read, Write and Access direct messages“. Damit die App genutzt werden kann, werden die unter dem Reiter Key and Access Tokens verfügbaren bzw. zu generierenden Consumer Key und Consumer Secret sowie Access Token und Access Token Secret, benötigt.

Application Settings
Application Settings
Access Token
Access Token

Diese Informationen haben wir in eine extra Datei ausgelagert, um Sie später im R Skript wieder einlesen zu können.
Nach diesen Schritten steht die App zur Nutzung bereit.

Zum Versenden von Tweets aus R heraus, nutzt man die Funktionen setup_twitter_oauth und tweet aus dem twitteR Paket. setup_twitter_oauth kümmert sich um die Authentifizierung und tweet sendet schließlich den entsprechenden Tweet ab.
Wie wir dies für unseren Rstatsgoes10k Account genutzt haben, lässt sich an folgendem R-Skript nachvollziehen:


Martin Schneider - Beitrag vom 02.02.2017

arbeitet seit 2012 als Senior Data Scientist bei der eoda GmbH in Kassel. Seine Haupttätigkeit liegt in Projekten zur Datenanalyse und im Wissenstransfer rund um das Thema Data Science.

Abonnieren Sie unseren Datenanalyse-Blog