1. Nessa aula vamos integrar nosso assistente virtual com a API de cotação de moedas que vamos desenvolver em Python.
  2. Pensando nisso, vamos criar o arquivo funcoes_moedas.py
from requests import get

def cotacao_moeda(moeda):
    if moeda == "Dólar":
        requisicao = get('https://economia.awesomeapi.com.br/json/last/USD-BRL')
        cotacao = requisicao.json()
        nome = cotacao['USDBRL']['name']
        data = cotacao['USDBRL']['create_date']
        valor = cotacao['USDBRL']['bid']
        mensagem = f'Cotação do Carlos em {data} é {valor} reais'
    elif moeda == "Euro":
        requisicao = get('https://economia.awesomeapi.com.br/json/last/EUR-BRL')
        cotacao = requisicao.json()
        nome = cotacao['EURBRL']['name']
        data = cotacao['EURBRL']['create_date']
        valor = cotacao['EURBRL']['bid']
        mensagem = f'Cotação do Carlos em {data} é {valor} reais'
    elif moeda == "Bitcoin":
        requisicao = get('https://economia.awesomeapi.com.br/json/last/BTC-BRL')
        cotacao = requisicao.json()
        nome = cotacao['BTCBRL']['name']
        data = cotacao['BTCBRL']['create_date']
        valor = cotacao['BTCBRL']['bid']
        mensagem = f'Cotação do Carlos em {data} é {valor} reais'
        
    return mensagem

# print(cotacao_moeda("Dólar"))
3. Pensando nisso, vamos criar o arquivo assistente.py.
from gtts import gTTS
from playsound import playsound
import speech_recognition as sr
import sys
import funcoes_so
import funcoes_noticias
import funcoes_moeda
import os

def cria_audio(audio, mensagem):
    tts = gTTS(mensagem, lang='pt-br')
    tts.save(audio)
    playsound(audio)
    os.remove(audio)
    
def monitora_audio():
    recon = sr.Recognizer()
    with sr.Microphone() as source:
        while True:
            print("Diga alguma coisa")
            audio = recon.listen(source)
            try:
                mensagem = recon.recognize_google(audio, language='pt-br')
                mensagem = mensagem.lower()
                print("Você disse ", mensagem)
                executa_comandos(mensagem)
                break
            except sr.UnknownValueError:
                pass
            except sr.RequestError:
                pass
        return mensagem
    
def executa_comandos(acao):
    if 'fechar assistente' in acao:
        sys.exit()
    elif 'horas' in acao:
        cria_audio('mensagem.mp3',funcoes_so.verifica_hora())
    elif 'desligar computador' in acao and 'uma hora' in acao:
        funcoes_so.desliga_computador_uma_hora()
    elif 'desligar computador' in acao and 'meia hora' in acao:
        funcoes_so.desliga_computador_meia_hora()
    elif 'cancelar desligamento' in acao:
        funcoes_so.cancela_desligamento()
    elif 'notícias' in acao:
        cria_audio('mensagem.mp3', funcoes_noticias.ultima_noticias())
    elif 'cotação' in acao and 'dólar' in acao:
        cria_audio('mensagem.mp3', funcoes_moeda.cotacao_moeda('Dólar'))
    elif 'cotação' in acao and 'euro' in acao:
        cria_audio('mensagem.mp3', funcoes_moeda.cotacao_moeda('Euro'))
    elif 'cotação' in acao and 'bitcoin' in acao:
        cria_audio('mensagem.mp3', funcoes_moeda.cotacao_moeda('Bitcoin'))
    
        
        
def main():
    cria_audio("wellcome.mp3", "Olá, sou a Maria. Em que posso lhe ajudar?")
    while True:
        monitora_audio()
    
main()
4. Para executar o arquivo, podemos executar o comando python .\assistente.py.