Come automatizzare l'invio di SMS con Python e Twilio

Impara a creare uno script Python per inviare SMS automatizzati con Twilio e integrarli nelle tue applicazioni per notifiche rapide.

Ehi, sai come automatizzare invio sms con python? Io l'ho fatto di recente per un progetto e ti giuro, è stato un bel risparmio di tempo. Come Stefano, che sta qui al bar a raccontarti le mie avventure da developer, ti dirò come ho risolto questo casino.

Come automatizzare invio sms con python

Ok, ma partiamo dal principio. Avevo questo problema: dovevo mandare notifiche SMS a un gruppo di utenti senza perdere ore a farlo manualmente. E il punto è che, con Twilio, si risolve in un attimo. Io preferisco Twilio perché è affidabile e non mi ha mai fatto impazzire con errori strani, a differenza di altri servizi che ho provato e che francamente fanno schifo per la scalabilità.

Sul serio, immagina di avere un'app che avvisa i clienti su promozioni; senza automatizzare, è un incubo.

Il mio setup: cosa costruiamo oggi

Be', andiamo dritti al sodo: oggi creiamo uno script Python che invia SMS via Twilio. È semplice, ma efficace. L'ultima volta che ho deployato senza test mi sono giocato il weekend, quindi tu fai attenzione a provarlo passo per passo.

Ma prima di tuffarci nel codice, elenchiamo i prerequisiti in modo non troppo rigido, eh.

Prerequisiti per non impazzire

Hai bisogno di un account Twilio – si crea gratis e ti dà i credenziali. Poi, Python installato sul tuo PC, magari la versione 3.8 o superiore perché con le vecchie ho avuto problemi. Ah, e la libreria Twilio via pip: pip install twilio. Non dimenticare di avere un numero di telefono per testare, altrimenti è come guidare senza benzina.

E ora, entriamo nel vivo.

Step-by-step: come mettere in piedi lo script

Prima cosa, importa le librerie necessarie. Io uso questo approccio perché è pulito e mi evita errori banali.

from twilio.rest import Client # Questo è il cuore del sistema

Ok, ma configuriamo il client. Devi inserire le tue credenziali da Twilio; la fregatura è che se le lasci in chiaro, sei nei guai, quindi usa variabili d'ambiente o un file .env. Ho provato a metterle hardcoded una volta e mi è andata male, fidati.

account_sid = 'tua_account_sid' auth_token = 'tua_auth_token' client = Client(account_sid, auth_token)

Ora, per inviare un SMS, è una passeggiata. Spoiler: funziona al primo colpo se segui.

message = client.messages.create( body='Ciao! Questo è un SMS automatizzato.', # Messaggio personalizzato from_='tuo_numero_twilio', # Il numero da Twilio to='numero_destinatario' # Inserisci qui il numero da avvisare )

E basta, l'SMS parte. Ma per renderlo più utile, integriamolo in una funzione che puoi chiamare da qualsiasi script.

def invia_sms(messaggio, destinatario): try: client.messages.create( body=messaggio, from_='tuo_numero_twilio', to=destinatario ) print('SMS inviato con successo!') except Exception as e: print(f'Errore: {e}') # Aggiungi un po' di debugging, che male non fa

Io l'ho usata per notificare errori in un bot e ha funzionato alla grande. Ah, un aneddoto: una volta ho inviato un SMS sbagliato a un cliente e ho passato una giornata a scusarmi; quindi, testa sempre prima.

Per automatizzarlo, metti questo in un loop o in un scheduler come cron. Ad esempio, in un file Python principale: import time

for i in range(3): # Invia tre SMS per test invia_sms('Messaggio numero ' + str(i+1), 'numero_destinatario') time.sleep(5) # Aspetta un po' tra un invio e l'altro

Vedi, non è complicato. E se vuoi renderlo più avanzato, aggiungi condizioni basate su dati esterni, tipo da un database.

Chiusura pratica: cosa fare ora

Ok, tu prendi questo script e adattalo al tuo progetto. Provalo con un numero di test e vedrai che come automatizzare invio sms con python diventerà il tuo trucco preferito. Ricorda, l'ho fatto io e ora non perdo più tempo con queste cose manuali.

Ti serve una soluzione simile?

Descrivimi il problema. Ne parliamo in una call gratuita di 30 minuti.

Contattami
← Torna al blog