Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- import string, random, socket, time, os
- from bs4 import BeautifulSoup as bs
- import speech_recognition as sr
- from chatterbot.trainers import ListTrainer
- from chatterbot import ChatBot
- import comtypes.client as ct
- import requests as rq
- tts = ct.CreateObject("sapi.SPVoice")
- r = sr.Recognizer()
- contador = 0
- usuario = "Daniel" # Coloque seu nome aqui
- bot = ChatBot('Sexta-feira')
- pt = ['Oi', 'Olá '+usuario+', como vai?', 'Olá','Oi '+usuario+', tudo bem?', 'Ei', 'Ei '+usuario+'', 'Tudo bem?','Estou bem','Bom dia','Bom dia '+usuario+'!','Boa tarde','Boa tarde '+usuario+'!','Boa noite','Boa noite '+usuario+'!','Tchau','Até mais '+usuario+'']
- en = ['Hello','Hi '+usuario+'','Hi','Hello Mister '+usuario+'','How are you?','I am fine']
- es = ['Hola','Hola '+usuario+'','Como estas?','Voy bien','Voy bien','Que bueno']
- bot.set_trainer(ListTrainer)
- bot.train(pt)
- bot.train(en)
- bot.train(es)
- def check_host():
- confiaveis = ['www.google.com', 'www.yahoo.com']
- for host in confiaveis:
- a = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- a.settimeout(.5)
- try:
- b = a.connect_ex((host, 80))
- if b == 0: # ok, conectado
- return True
- except:
- a.close()
- return False
- def recVoz(r):
- try:
- with sr.Microphone() as source:
- r.adjust_for_ambient_noise(source)
- audio = r.listen(source)
- speech = r.recognize_google(audio, language='pt-BR')
- return speech
- except sr.UnknownValueError:
- print('Erro de reconhecimento de fala')
- time.sleep(2)
- main()
- def piadas():
- aleatorio = random.randint(1, 7)
- url = 'https://www.piadas.com.br'
- page = rq.get(url=url, timeout=2)
- soup = bs(page.content, 'html.parser')
- if aleatorio == 1:
- conteudo = soup.find(class_="views-row views-row-2 views-row-even")
- elif aleatorio == 2:
- conteudo = soup.find(class_="views-row views-row-3 views-row-even")
- elif aleatorio == 3:
- conteudo = soup.find(class_="views-row views-row-4 views-row-even")
- elif aleatorio == 4:
- conteudo = soup.find(class_="views-row views-row-5 views-row-even")
- elif aleatorio == 5:
- conteudo = soup.find(class_="views-row views-row-6 views-row-even")
- elif aleatorio == 6:
- conteudo = soup.find(class_="views-row views-row-7 views-row-even")
- elif aleatorio == 7:
- conteudo = soup.find(class_="views-row views-row-8 views-row-even")
- piada = conteudo.get_text()
- print('Sexta-feira: ...')
- texto = (u""+piada)
- tts.Speak(texto)
- main()
- def pass_generator(size=10, chars=string.ascii_uppercase + string.digits + string.ascii_lowercase):
- return ''.join(random.choice(chars) for _ in range(size))
- def pesqGoogle():
- print('Sexta-feira: O que deseja pesquisar?')
- pesquisa = (u"O que deseja pesquisar?")
- tts.Speak(pesquisa)
- speech = recVoz(r)
- print('Você: ', speech)
- speech = speech.replace(" ", '+')
- url = "https://www.google.com.br/search?q="+speech
- os.system("cd C:\\Program Files (x86)\\Google\\Chrome\\Application && .\\chrome.exe "+url)
- main()
- def pesqYoutube():
- print('Sexta-feira: O que deseja pesquisar?')
- pesquisa = (u"O que deseja pesquisar?")
- tts.Speak(pesquisa)
- speech = recVoz(r)
- print('Você: ', speech)
- video = speech.replace(" ", '+')
- url = "https://www.youtube.com/results?search_query="+video
- pesquisa = (u"Segue vídeos com o tema "+speech)
- tts.Speak(pesquisa)
- os.system("cd C:\\Program Files (x86)\\Google\\Chrome\\Application && .\\chrome.exe "+url)
- main()
- def wikipedia():
- print('Sexta-feira: Qual tema deseja pesquisar?')
- pesquisa = (u"Qual tema deseja pesquisar?")
- tts.Speak(pesquisa)
- speech = recVoz(r)
- print('Você: ', speech)
- busca = speech.replace(" ", '_')
- url = "https://pt.wikipedia.org/wiki/"+busca
- page = rq.get(url=url)
- soup = bs(page.content, 'html.parser')
- conteudo = soup.find(id="mw-content-text")
- texto = conteudo.get_text()
- print('Sexta-feira: ...')
- pesquisa = (u""+texto)
- tts.Speak(pesquisa)
- main()
- def traduzir():
- print('Fale o que deseja traduzir...')
- speech = recVoz(r)
- print('Você: ', speech)
- texto = speech.replace(" ",'%20')
- origem = 'pt'
- destino = 'en'
- url = "https://translate.google.com.br/?hl=pt-BR#"+origem+"/"+destino+"/"+texto
- os.system("cd C:\\Program Files (x86)\\Google\\Chrome\\Application && .\\chrome.exe "+url)
- main()
- def main():
- try:
- check_host()
- if check_host():
- while True:
- os.system('cls')
- print('\n\t\tAssistente Virtual v7.0 by Daniel M. Alves\n\n')
- print('Fale algo...')
- speech = recVoz(r)
- print('Você: ', speech)
- response = bot.get_response(speech)
- print('Sexta-feira:', response)
- resposta = (u""+str(response))
- tts.Speak(resposta)
- time.sleep(0.5)
- if speech == "pesquisar":
- print('Sexta-feira: ...')
- speech = recVoz(r)
- print('Você: ', speech)
- if speech == "google" or speech == "Google":
- pesqGoogle()
- elif speech == "youtube" or speech == "YouTube" or speech == "Youtube":
- pesqYoutube()
- elif speech == "Wikipédia" or speech == "wikipédia":
- wikipedia()
- elif speech == "traduzir":
- traduzir()
- elif speech == "estou com fome":
- url = "https://www.google.com.br/maps/search/Restaurantes/@-20.3118374,-40.3248965,16z/data=!4m7!2m6!3m5!1sRestaurantes!2s-20.3119,+-40.3269!4m2!1d-40.3269354!2d-20.3119305"
- os.system('cd C:\\Program Files (x86)\\Google\\Chrome\\Application && .\\chrome.exe '+url)
- main()
- elif speech == "procurar" or speech == "Google maps" or speech == "mapa" or speech == "maps" or speech == "procurar em Vitória" or speech == "procurar nas proximidades":
- print('Sexta-feira: ...')
- speech = recVoz(r)
- print('Você: ', speech)
- busca = speech.replace(" ", '+')
- url = 'https://www.google.com.br/maps/search/'+busca+'/@-20.2869951,-40.3284409,13z'
- os.system('cd C:\\Program Files (x86)\\Google\\Chrome\\Application && .\\chrome.exe "'+url+'" ')
- main()
- elif speech == "clima para hoje" or speech == "clima para Vitória" or speech == "clima hoje":
- url = "https://www.climatempo.com.br/previsao-do-tempo/15-dias/cidade/84/vitoria-es" # Use o link de sua cidade!
- page = rq.get(url=url, timeout=2)
- soup = bs(page.content, 'html.parser')
- content = soup.find(id="tempMin0")
- minima = content.get_text()
- content = soup.find(id="tempMax0")
- maxima = content.get_text()
- content = soup.find(id="content0")
- classe = content.find(class_="small-4 left rain-block")
- prob = classe.get_text()
- content = soup.find(id="content0")
- classe = content.find(class_="left font14 txt")
- descricao = classe.get_text()
- tempo = (u"Minima de "+minima+" e máxima de "+maxima)
- tts.Speak(tempo)
- print(tempo)
- chuva = (u"Probabilidade de "+prob)
- tts.Speak(chuva)
- desc = (u""+descricao)
- tts.Speak(desc)
- print(desc)
- main()
- elif speech == "clima para amanhã" or speech == "clima para amanhã em Vitória" or speech == "clima amanhã":
- url = "https://www.climatempo.com.br/previsao-do-tempo/15-dias/cidade/84/vitoria-es"
- page = rq.get(url=url, timeout=2)
- soup = bs(page.content, 'html.parser')
- content = soup.find(id="tempMin1")
- minima = content.get_text()
- content = soup.find(id="tempMax1")
- maxima = content.get_text()
- content = soup.find(id="content1")
- classe = content.find(class_="small-4 left rain-block")
- prob = classe.get_text()
- content = soup.find(id="content1")
- classe = content.find(class_="left font14 txt")
- descricao = classe.get_text()
- tempo = (u"Minima de "+minima +
- " e máxima de "+maxima)
- tts.Speak(tempo)
- print(tempo)
- chuva = (u"Probabilidade de "+prob)
- tts.Speak(chuva)
- desc = (u""+descricao)
- tts.Speak(desc)
- print(desc)
- main()
- elif speech == "curiosidades do dia" or speech == "curiosidades":
- url = 'https://pt.wikipedia.org/wiki/Wikipédia:Página_principal'
- page = rq.get(url=url)
- soup = bs(page.content, 'html.parser')
- conteudo = soup.find(id="mf-efemérides")
- texto = conteudo.get_text()
- print('Sexta-feira: ...')
- pesquisa = (u""+texto)
- tts.Speak(pesquisa)
- main()
- elif speech == "comparar preços" or speech == "pesquisar produto" or speech == "comparar preço" or speech == "pesquisar produtos":
- pesquisa = (u"Qual o produto desejado?")
- tts.Speak(pesquisa)
- speech = recVoz(r)
- print('Você: ', speech)
- busca = speech.replace(" ", '+')
- url = "https://www.google.com.br/search?tbm=shop&q="+busca
- print("Segue lista com comparação de preços de "+speech+"")
- pesquisa = (u"Segue lista com comparação de preços de "+speech)
- tts.Speak(pesquisa)
- os.system('cd C:\\Program Files (x86)\\Google\\Chrome\\Application && .\\chrome.exe "'+url+'" ')
- main()
- elif speech == "tocar músicas" or speech == "reproduzir músicas":
- os.system('cd C:\\Program Files\\MPC-HC && .\\mpc-hc64.exe C:\\Users\\%user%\\Music\\*.mp3')
- main()
- elif speech == "gerar senha":
- print("Senha: ", pass_generator())
- main()
- elif speech == "deletar arquivos temporários" or speech == "deletar temporários" or speech == "apagar temporários":
- temp = (u"Confirme para aapgar os arquivos temporários")
- tts.Speak(temp)
- os.system('cd %TMP% && del *.* && cd C:\Windows\Temp && del *.* && pause')
- main()
- elif speech == "me conte uma piada" or speech == "Me conte uma piada" or speech == "piada":
- piadas()
- main()
- elif speech == "fechar" or speech == "sair" or speech == "tchau" or speech == "adios" or speech == "bye":
- time.sleep(1)
- print("Encerrando sessão...")
- sair = (u"Encerrando sessão")
- tts.Speak(sair)
- main.close()
- else:
- main()
- else:
- print('Sem conexão com a internet. Tente mais tarde!\n')
- except:
- print('Erro de execução. Tente novamente!')
- time.sleep(3)
- global contador
- contador = contador + 1
- if contador == 10:
- exit()
- else:
- main()
- if __name__ == "__main__":
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement