Vediamo la prima funzione utilizzata all’interno del BOT Factotum.
Il suo scopo è quello di prendere in input il testo digitato dall’utente all’interno della chat, spezzare la frase nelle singole parole che la compongono e confrontare le parole con le 3 HOT WORD inserite come variabili all’interno del programma stesso (e quindi a “compile time” e non a “run time”).
"""
=== FORMULA_RISPOSTA ===
Funzione per analizzare il testo digitato dall'utente nella chat
e formulare la risposta più appropriata sulla base delle 3 HOT_WORD definite
a livello di programma
========================
"""
def formula_risposta(bot, chat_id, msg, domanda):
print("Funzione FORMULA_RISPOSTA: START")
print("Funzione FORMULA_RISPOSTA: La domanda è ",domanda)
parole=domanda.split(" ")
parole_chiave=[]
risposta=""
for i in parole:
if i in HOT_WORD1:
parole_chiave.append(i)
bot.sendMessage(chat_id,"Trovata la HOT_WORD1")
if i in HOT_WORD2:
parole_chiave.append(i)
bot.sendMessage(chat_id,"Trovata la HOT_WORD2")
#bot.sendDocument(chat_id, open('file_name.pdf', 'rb'))
if i in HOT_WORD3:
parole_chiave.append(i)
bot.sendMessage(chat_id,"Trovata la HOT_WORD3")
#bot.sendMessage(chat_id, "https://www.google.it")
if len(parole_chiave)==0:
bot.sendMessage(chat_id,"Spiacente, non sono riuscito a individuare la richiesta.")
return
Le HOT_WORD non sono altro che liste che contengono le parole chiave che fanno attivare il BOT. Nel BOT di esempio sono descritte nel seguente modo:
HOT_WORD1=["pippo","Pippo","PIPPO"]
HOT_WORD2=["pluto","Pluto","PLUTO"]
HOT_WORD3=["paperino","Paperino","PAPERINO"]