Comment envoyer des SMS depuis R

Saviez-vous que vous pouvez envoyer des SMS directement depuis R? C'est facile . . . et si vous vous demandez pourquoi vous voudriez, avez-vous vraiment besoin d'une raison autre que «parce que je peux»?

Mais sérieusement, les SMS scriptés peuvent être utiles au-delà du simple plaisir. N'aimeriez-vous pas recevoir un texte lorsqu'un long script se termine ou génère une erreur? Ou si un script automatisé renvoie une valeur à laquelle vous ne vous attendiez pas, ou même pour envoyer des textes à une liste de numéros de téléphone?

Il existe plusieurs façons de générer des textes dans R. L'une des plus simples consiste à utiliser le service Twilio et le package twilio R.

Tout d'abord, vous aurez besoin d'un compte Twilio. Allez sur Twilio.com et inscrivez-vous pour un compte gratuit. Une fois que vous avez entré vos informations, vous devrez vérifier votre numéro de téléphone - soit en leur faisant envoyer un SMS, soit en vous appelant avec un code.

Après vous être inscrit, vous devriez voir un tableau de bord qui ressemble à la capture d'écran ci-dessous.

Capture d'écran de Sharon Machlis,

Vous devrez prendre note de votre ACCOUNT SID et AUTH TOKEN. Aussi, obtenez un numéro d'essai comme suggéré par ce bouton rouge.

Les messages coûtent moins d'un centime chacun, et l'essai a 15 $ en crédits - assez pour jouer avec. La limite la plus importante est que vous ne pouvez envoyer des messages qu'aux numéros de téléphone que vous avez vérifiés et ajoutés à votre compte. Vous pouvez vérifier plus de numéros à partir du tableau de bord Twilio (ou obtenir un compte payant).

Après avoir configuré votre compte Twilio, installez le package twilio R de CRAN avec install.packages("twilio"), puis chargez-le de la manière habituelle avec   library(twilio). Enregistrez votre compte SID et TOKEN dans les variables d'environnement R spécifiques attendues par le package: TWILIO_SID et TWILIO_TOKEN. Vous pouvez le faire au début de chaque session, en utilisant du code comme les lignes ci-dessous.

Sys.setenv (TWILIO_SID = "Votre SID")

Sys.setenv (TWILIO_TOKEN = "Votre jeton")

Vous pouvez également enregistrer ces variables une fois dans votre fichier .Renviron, qui est facilement accessible avec usethis::edit_r_environ(). Notez que vous aurez besoin de l'installation de ce package pour cela.

Enfin, nous sommes prêts à envoyer un SMS.

Les numéros de téléphone d'envoi et de réception doivent être dans un format tel que +15088970700. Autrement dit, commencez par un signe plus avant le code du pays suivi de chiffres uniquement - sans parenthèses, tirets ou points. 

La fonction pour envoyer un SMS est tw_send_message()avec la syntaxe tw_send_message(the_receiving_number, my_sending_number, my_message_body)et un quatrième argument facultatif pour l'URL du média. C'est ça! Un exemple simple pourrait ressembler à ceci:

tw_send_message (

à = "+16035551212",

de = "+15088970700",

body = paste ("J'envoie ce message depuis un script R!")

)

Si vous stockez les résultats dans une variable, vous aurez une liste avec plus d'une douzaine de valeurs:

mon_message <- tw_send_message (

to = Sys.getenv ("to_number"),

from = Sys.getenv ("from_number"),

body = paste ("J'envoie ce message depuis un script R!")

)

noms (mon_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

Si vous imprimez le corps du message, vous verrez que les comptes d'essai ajoutent «Envoyé depuis votre compte d'essai Twilio».

> my_message $ body [1] "Envoyé depuis votre compte d'essai Twilio - J'envoie ce message depuis un script R!"

Une fois que vous avez configuré un compte Twilio et votre SID et vos variables de jeton, le reste est facile.

Vous souhaitez plutôt envoyer un e-mail ou un message Slack depuis R? Nous avons ce qu'il vous faut! E-mail: comment envoyer des e-mails depuis R et Gmail. Slack: Comment Slack de R.

Pour plus de conseils R, rendez-vous sur la page Faire plus avec R sur //bit.ly/domorewithR ou sur la liste de lecture Do More With R sur la chaîne YouTube TECHtalk.