Come inviare messaggi di testo da R

Sapevi che puoi inviare messaggi di testo direttamente da R? È facile . . . e se ti stai chiedendo perché vorresti farlo, hai davvero bisogno di una ragione oltre a "perché posso"?

Ma seriamente, i messaggi di testo con script possono essere utili oltre il semplice divertimento. Non vorresti ricevere un messaggio quando uno script lungo termina o genera un errore? O se uno script automatizzato restituisce un valore che non ti aspettavi o addirittura per inviare messaggi a un elenco di numeri di telefono?

Ci sono alcuni modi per generare testi in R. Uno dei più semplici è usare il servizio Twilio e il pacchetto twilio R.

Innanzitutto, avrai bisogno di un account Twilio. Vai su Twilio.com e registrati per un account gratuito. Dopo aver inserito le tue informazioni, dovrai verificare il tuo numero di telefono, inviandogli un messaggio di testo o chiamandoti con un codice.

Dopo esserti registrato, dovresti vedere una dashboard che assomiglia allo screenshot qui sotto.

Screenshot di Sharon Machlis,

Dovrai prendere nota del tuo ACCOUNT SID e AUTH TOKEN. Inoltre, ottieni un numero di prova come suggerito da quel pulsante rosso.

I messaggi costano meno di un centesimo ciascuno e la versione di prova ha $ 15 in crediti, abbastanza per giocare. Il limite più importante è che puoi inviare messaggi solo a numeri di telefono che hai verificato e aggiunto al tuo account. Puoi verificare più numeri dalla dashboard di Twilio (o ottenere un account a pagamento).

Dopo aver configurato il tuo account Twilio, installa il pacchetto twilio R da CRAN con install.packages("twilio")e poi caricalo nel solito modo con   library(twilio). Salvare il SID e il TOKEN dell'account nelle variabili di ambiente R specifiche previste dal pacchetto: TWILIO_SID e TWILIO_TOKEN. Puoi farlo all'inizio di ogni sessione, utilizzando il codice come le righe seguenti.

Sys.setenv (TWILIO_SID = "Il tuo SID")

Sys.setenv (TWILIO_TOKEN = "Il tuo token")

In alternativa, puoi salvare queste variabili una volta nel tuo file .Renviron, che è facilmente accessibile con usethis::edit_r_environ(). Nota che avrai bisogno dell'utilizzo di questo pacchetto installato per questo.

Finalmente siamo pronti per il testo.

I numeri di telefono di invio e ricezione devono essere in un formato come +15088970700. Cioè, inizia con un segno più prima del prefisso internazionale seguito solo da numeri, senza parentesi, trattini o punti. 

La funzione per inviare un SMS è tw_send_message()con la sintassi tw_send_message(the_receiving_number, my_sending_number, my_message_body)e un quarto argomento opzionale per l'URL dei media. Questo è tutto! Un semplice esempio potrebbe assomigliare a questo:

tw_send_message (

a = "+16035551212",

from = "+15088970700",

body = paste ("Sto inviando questo messaggio da uno script R!")

)

Se memorizzi i risultati in una variabile, avrai un elenco con più di una dozzina di valori:

my_message <- tw_send_message (

to = Sys.getenv ("to_number"),

from = Sys.getenv ("from_number"),

body = paste ("Sto inviando questo messaggio da uno script R!")

)

nomi (mio_messaggio)

[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

Se stampi il corpo del messaggio, vedrai che gli account di prova aggiungono "Inviato dal tuo account di prova Twilio".

> my_message $ body [1] "Inviato dal tuo account di prova Twilio-Sto inviando questo messaggio da uno script R!"

Dopo aver impostato un account Twilio e le variabili SID e token, il resto è facile.

Vuoi invece inviare un'e-mail o un messaggio Slack da R? Ti abbiamo coperto! E-mail: come inviare e-mail da R e Gmail. Slack: come fare Slack da R.

Per ulteriori suggerimenti R, vai alla pagina Fai di più con R su //bit.ly/domorewithR o la playlist Fai di più con R sul canale YouTube di TECHtalk.