A10Narvaez's picture
Upload 4 files
eb535a8 verified
Raw
History Blame Contribute Delete
2.78 kB
#gmail librerías --------------------------
from Google import Create_Service
import base64
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
#chatbot librerías------------------------
import speech_recognition as sr
import pyttsx3, pywhatkit
#servidor google---------------------------------
CLIENT_SECRET_FILE = "trchatbot.json"
API_NAME = "gmail"
API_VERSION = "v1"
SCOPES = ["https://mail.google.com/"]
service = Create_Service(CLIENT_SECRET_FILE, API_NAME, API_VERSION, SCOPES)
#------------------------------------
listener = sr.Recognizer()
engine = pyttsx3.init()
voices = engine.getProperty("voices")
engine.setProperty("voice", voices[0].id)
#---------------------------------------------
mimeMessage = MIMEMultipart()
titulito = ""
mensajito = ""
def talk(text):
engine.say(text)
engine.runAndWait()
def listen():
try:
with sr.Microphone() as source:
print("Escuchando...")
pc = listener.listen(source)
rec = listener.recognize_google(pc, language='es-ES')
rec = rec.lower(0)
#if name in rec:
#rec = rec.replace(name, "")
except:
pass
return rec
def run_mike():
rec = listen()
if "correo" in rec:
print("¿A quién quieres que se lo envíe? ")
talk("¿A quién quieres que se lo mande?")
enviara()
else:
talk("No te he entendido")
def enviara():
rec = listen()
if "David" in rec:
print("¿Título?")
talk("¿Título?")
tituloo()
def tituloo():
rec = listen()
if " " in rec:
global titulito
titulito = rec
print("¿Qué mensaje quieres que le envíe?")
talk("¿Qué mensaje quieres que le envíe?")
mensajee()
def mensajee():
rec = listen()
if " " in rec:
global mensajito
mensajito = rec
print("¿Seguro que quieres que envíe este mensaje a David?")
talk("¿Seguro que quieres que envíe este mensaje a David?")
print(rec)
seguroo()
def seguroo():
rec = listen()
if "correcto" in rec:
mimeMessage["to"] = "sacuadrado2@espe.edu.ec"
mimeMessage["subject"] = titulito
emailMsg = mensajito
mimeMessage.attach(MIMEText(emailMsg, "plain"))
raw_string = base64.urlsafe_b64encode(mimeMessage.as_bytes()).decode()
message = service.users().messages().send(userId = "me", body = {"raw": raw_string}).execute()
print("Se ha enviado correctamente")
talk("Se ha enviado correctamente")
else:
pass
if __name__ == "__main__":
run_mike()