Programmering

Sådan sendes tekstbeskeder fra R

Vidste du, at du kan sende tekstbeskeder direkte fra R? Det er nemt . . . og hvis du spekulerer på, hvorfor du gerne vil, har du virkelig brug for en grund ud over "fordi jeg kan"?

Men seriøst kan scriptet sms'er være nyttigt ud over simpel sjov. Vil du ikke modtage en tekst, når et langt script slutter eller kaster en fejl? Eller hvis et automatiseret script returnerer en værdi, som du ikke havde forventet, eller endda at sende tekster til en liste over telefonnumre?

Der er et par måder at generere tekster i R. En af de nemmeste er at bruge Twilio-tjenesten og twilio R-pakken.

Først skal du bruge en Twilio-konto. Gå til Twilio.com og tilmeld dig en gratis konto. Når du har indtastet dine oplysninger, skal du bekræfte dit telefonnummer - enten ved at få dem til at sende en sms eller ringe til dig med en kode.

Når du har tilmeldt dig, skal du se et instrumentbræt, der ligner skærmbilledet nedenfor.

Skærmbillede af Sharon Machlis,

Du bliver nødt til at tage din konto-SID og AUTH TOKEN til efterretning. Få også et prøvenummer som foreslået af den røde knap.

Beskeder koster mindre end en krone hver, og prøveperioden har $ 15 i kreditter - nok til at lege med. Den vigtigere grænse er, at du kun kan sende beskeder til telefonnumre, som du har bekræftet og føjet til din konto. Du kan bekræfte flere numre fra Twilio-instrumentbrættet (eller få en betalt konto).

Når du har oprettet din Twilio-konto, skal du installere twilio R-pakken fra CRAN med install.packages ("twilio") og læg det derefter på den sædvanlige måde medbibliotek (twilio). Gem din konto SID og TOKEN til de specifikke R-miljøvariabler, som pakken forventer: TWILIO_SID og TWILIO_TOKEN. Du kan gøre det i starten af ​​hver session ved hjælp af kode som nedenstående linjer.

Sys.setenv (TWILIO_SID = "Dit SID")

Sys.setenv (TWILIO_TOKEN = "Dit tegn")

Alternativt kan du gemme disse variabler en gang i din .Renviron-fil, som er let tilgængelig med bruger dette :: edit_r_environ (). Bemærk, at du har brug for denne pakke installeret til det.

Endelig er vi klar til at sende en sms.

De afsendende og modtagende telefonnumre skal være i et format som f.eks +15088970700. Start med et plustegn før landekoden efterfulgt af tal - ingen parenteser, bindestreger eller prikker.

Funktionen til at sende en SMS er tw_send_message () med syntaksen tw_send_message (the_receiving_number, my_sending_number, my_message_body) og et valgfrit fjerde argument for medie-URL. Det er det! Et simpelt eksempel kan se sådan ud:

tw_send_message (

til = "+16035551212",

fra = "+15088970700",

body = paste ("Jeg sender denne besked fra et R-script!")

)

Hvis du gemmer resultaterne i en variabel, har du en liste med mere end et dusin værdier:

min_meddelelse <- tw_send_message (

til = Sys.getenv ("til_nummer"),

fra = Sys.getenv ("fra_nummer"),

body = paste ("Jeg sender denne besked fra et R-script!")

)

navne (min_meddelelse)

[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]" pris "" price_unit "[15]" error_code "" error_message

Hvis du udskriver meddelelsesteksten, kan du se, at prøvekonti tilføjer "Sendt fra din Twilio-prøvekonto."

> my_message $ body [1] "Sendt fra din Twilio-prøvekonto - Jeg sender denne besked fra et R-script!"

Når du har oprettet en Twilio-konto og dine SID- og tokenvariabler, er resten let.

Vil du sende e-mail eller en slap besked fra R i stedet? Vi dækker dig! E-mail: Sådan sendes e-mail fra R og Gmail. Slack: Sådan slækker du fra R.

For flere R-tip, gå til siden Do More With R på //bit.ly/domorewithR eller Play More With R-playlisten på TECHtalk YouTube-kanalen.