Ciao ragazzi. Innanzi tutto grazie a chi mi ha risposto alle mie vecchie domande. Sono qui per chiedere un'informazione: sto
programmando un'assistente vocale che invii dei messaggi su whatsapp ad un numero preciso. Di preciso funziona così: il
programma vede se una parola chiave (in questo caso presente ad inizio script in due possibili variabili), sia presente
all'interno della frase pronunciata dall'utente. A quel punto sostituisce questa parola, lasciando solo il nome. Ora viene
aperto un file excel contenente i numeri di telefono e viene importato il numero (già compreso di prefisso), nell'abiente.
Il formato è più o meno questo: +39 xxx xxx xxxx ora sapendo un poco come funziona pywhatkit (la libreria che sto usando per lo
script) ho “formattato il testo eliminando gli spazi bianchi”. Il programma chiede poi di dire il messaggio.
Una volta detto questo, dovrebbe inviarlo, ma non lo manda. In particolare bypassa il codice senza darmi alcun errore.
Ci tengo a precisare che whatsapp web è correttamente aperto e correttamente collegato. Qualcuno sa a cosa possa essere dovuto
il problema?
Di seguito lo script
if any (parola in testo for parola in ["invia un messaggio su whatsapp a", "invia un whatsapp a"]):
# Percorso del file Excel
rubrica = 'C:/Users/fabio/Desktop/assistente/file/Rubrica.xlsx'
# Carica il file Excel
workbook = openpyxl.load_workbook(rubrica)
# Assumi che il foglio di lavoro desiderato sia il primo foglio
foglio_lavoro = workbook.active
# Parola chiave da cercare
parola_chiave = testo.replace("invia un messaggio su whatsapp a ","").replace("invia un whatsapp a ","")
# Trova la prima riga che contiene la parola chiave
riga_selezionata = None
for riga in foglio_lavoro.iter_rows(min_row=2, values_only=True):
nome, numero = riga
if nome and parola_chiave.lower() in nome.lower():
riga_selezionata = riga
break
# Stampa la riga trovata o un messaggio di errore se non è stata trovata
if riga_selezionata is not None:
print(f'Riga contenente la parola chiave "{parola_chiave}": {riga_selezionata}')
print(riga_selezionata)
numero=riga_selezionata[1]
numero=numero.replace(" ","")
print(numero)
engine.say("ok, ora detta il messaggio")
audio = r.listen(source)
messaggio = r.recognize_google(audio, language="it-IT").lower()
print(messaggio)
try:
kit.sendwhatmsg_instantly(numero, messaggio)
except Exception as e:
print(f"Errore durante l'invio del messaggio: {str(e)}")
else:
print(f'Nessuna riga trovata con la parola chiave "{parola_chiave}" nel file Excel.')