So senden Sie Textnachrichten von R.

Wussten Sie, dass Sie Textnachrichten direkt von R aus senden können? Es ist einfach . . . und wenn Sie sich fragen, warum Sie wollen, brauchen Sie wirklich einen Grund, der über „weil ich kann“ hinausgeht?

Aber im Ernst, Skript-SMS können über den einfachen Spaß hinaus nützlich sein. Möchten Sie keinen Text erhalten, wenn ein langes Skript beendet ist oder einen Fehler auslöst? Oder wenn ein automatisiertes Skript einen Wert zurückgibt, den Sie nicht erwartet haben, oder sogar Texte an eine Liste von Telefonnummern sendet?

Es gibt verschiedene Möglichkeiten, Texte in R zu generieren. Eine der einfachsten Möglichkeiten ist die Verwendung des Twilio-Dienstes und des Twilio R-Pakets.

Zunächst benötigen Sie ein Twilio-Konto. Gehen Sie zu Twilio.com und eröffnen Sie ein kostenloses Konto. Sobald Sie Ihre Daten eingegeben haben, müssen Sie Ihre Telefonnummer überprüfen - entweder indem Sie ihnen einen Text senden oder Sie mit einem Code anrufen.

Nachdem Sie sich angemeldet haben, sollte ein Dashboard angezeigt werden, das dem folgenden Screenshot ähnelt.

Screenshot von Sharon Machlis,

Sie müssen Ihre ACCOUNT SID und AUTH TOKEN notieren. Erhalten Sie auch eine Testnummer, wie durch diesen roten Knopf vorgeschlagen.

Nachrichten kosten jeweils weniger als einen Cent, und die Testversion hat 15 US-Dollar Guthaben - genug, um damit zu spielen. Das wichtigere Limit ist, dass Sie nur Nachrichten an Telefonnummern senden können, die Sie überprüft und Ihrem Konto hinzugefügt haben. Sie können weitere Nummern über das Twilio-Dashboard überprüfen (oder ein kostenpflichtiges Konto erhalten).

Installieren Sie nach dem Einrichten Ihres Twilio-Kontos das Twilio R-Paket von CRAN mit install.packages("twilio")und laden Sie es dann wie gewohnt mit   library(twilio). Speichern Sie die SID und TOKEN Ihres Kontos in den spezifischen R-Umgebungsvariablen, die das Paket erwartet: TWILIO_SID und TWILIO_TOKEN. Sie können dies zu Beginn jeder Sitzung mit Code wie den folgenden Zeilen tun.

Sys.setenv (TWILIO_SID = "Ihre SID")

Sys.setenv (TWILIO_TOKEN = "Ihr Token")

Alternativ können Sie diese Variablen einmal in Ihrer .Renviron-Datei speichern, auf die Sie leicht zugreifen können usethis::edit_r_environ(). Beachten Sie, dass Sie das usethis-Paket dafür installieren müssen.

Endlich sind wir bereit für den Text.

Das Senden und Empfangen von Telefonnummern sollte in einem Format wie z +15088970700. Beginnen Sie also mit einem Pluszeichen vor dem Ländercode, gefolgt von Zahlen - keine Klammern, Bindestriche oder Punkte. 

Die Funktion zum Senden einer SMS besteht aus tw_send_message()der Syntax tw_send_message(the_receiving_number, my_sending_number, my_message_body)und einem optionalen vierten Argument für die Medien-URL. Das ist es! Ein einfaches Beispiel könnte folgendermaßen aussehen:

tw_send_message (

to = "+16035551212",

from = "+15088970700",

body = paste ("Ich sende diese Nachricht von einem R-Skript!")

)

Wenn Sie die Ergebnisse in einer Variablen speichern, erhalten Sie eine Liste mit mehr als einem Dutzend Werten:

my_message <- tw_send_message (

to = Sys.getenv ("to_number"),

from = Sys.getenv ("from_number"),

body = paste ("Ich sende diese Nachricht von einem R-Skript!")

)

Namen (my_message)

[1] "sid" "date_created" [3] "date_updated" "date_sent" [5] "to" "from" [7] "body" "status" [9] "num_segments" "num_media" [11] "direction "" api_version "[13]" price "" price_unit "[15]" error_code "" error_message

Wenn Sie den Nachrichtentext drucken, sehen Sie, dass Testkonten "Von Ihrem Twilio-Testkonto gesendet" hinzufügen.

> my_message $ body [1] "Von Ihrem Twilio-Testkonto gesendet - Ich sende diese Nachricht von einem R-Skript!"

Sobald Sie ein Twilio-Konto und Ihre SID- und Token-Variablen eingerichtet haben, ist der Rest einfach.

Möchten Sie stattdessen eine E-Mail oder eine Slack-Nachricht von R senden? Wir geben dir Deckung! E-Mail: So senden Sie E-Mails von R und Google Mail. Slack: Wie man von R. locker ist.

Weitere R-Tipps finden Sie auf der Seite Do More With R unter //bit.ly/domorewithR oder in der Wiedergabeliste Do More With R auf dem YouTube-Kanal von TECHtalk.