def create_event(language):
    r = sr.Recognizer()
    with sr.Microphone() as source:
        # Título
        reproduction_audio('titulo_agenda', language)
        audio = r.listen(source)
        titulo = r.recognize_google(audio, language=language)

        # Data
        reproduction_audio('data_agenda', language)
        audio = r.listen(source)
        data = r.recognize_google(audio, language=language)

    title = input('Título do evento: ')
    date_and_hour = input('Data e hora (AAAA-MM-DDTHH:MM:SS): ')
    date_and_hour_end = input('Data e hora (AAAA-MM-DDTHH:MM:SS): ')

    date_and_hour_init = date_and_hour + '-03:00'
    date_and_hour_end = date_and_hour_end + '-03:00'
    print(date_and_hour_end)
    event = {
        'summary': title,
        'start': {
            'dateTime': date_and_hour_init,
        },
        'end': {
            'dateTime': date_and_hour_end,
        }
    }

    return event
def corona_virus(language: str) -> None:
    try:
        # URL do World Meters com os dados do Corona Virus
        url = "https://www.worldometers.info/coronavirus/"

        site = get(url)  # Realizando a requisição

        # Transformando a resposta em um HTML legível com BeautifulSoup
        soup = BeautifulSoup(site.text, 'html.parser')

        # Lista com as informações
        array = soup.findAll(attrs={'class': 'maincounter-number'})

        array_formated = []

        # Como as informações são em inglês, transforma-se as vírgulas em pontos e acrescentado em um novo array
        for text in array:
            array_formated.append(text.span.text.replace(
                ',', '.'))  # Trocando a vírgula por um ponto

        # Criação da variável de áudio informativo dependendo da linguagem
        if language == 'pt-br':
            audio = f'Casos {array_formated[0]}, Mortes {array_formated[1]}, Recuperados {array_formated[2]}'
        elif language == 'en':
            audio = f'Cases {array_formated[0]}, Death {array_formated[1]}, Recovered {array_formated[2]}'

        cria_audio(audio, 'cases', language)  # Criação do áudio
        ps(f'{path}/audios_{language}/cases.mp3')  # Reprodução

        os.remove(f'{path}/audios_{language}/cases.mp3'
                  )  # Exclusão do áudio para evitar sopreposição

    except:
        reproduction_audio('erro', language)  # Reproduz áudio de erro
Exemplo n.º 3
0
def main(url: str, folder: str, message: list, language: str, speak = True) -> None:
    # A variável 'speak' serve para informar se é para acionar os áudios ou não
    try:
        yt = YouTube(url)  # Capturando os tipos de downloads

        title = yt.title # Pegando o título do vídeo
        title = removing_caracters_specials(title).replace(' ', '-')

        stream = yt.streams.first()  # Pegando todos os tipos de downloads
        time = yt.length # Descobrindo o tamanho do vídeo em segundos
        
        if(speak): reproduction_audio('baixar_musica', language)
        print(message[2])
        stream.download(folder+'/tmp', filename=title)  # Realizando o download
        print(f'{message[3]}{title}{message[4]}')  # Escrevendo o download finalizado

        def _thread():
            # Começando a conversão de MP4 para MP3
            print(message[5])
            video_to_audio(folder, time, title)  # Convertendo...
            print(message[6])
            if(speak): reproduction_audio('musica_terminada', language)  # Reprodução de aúdio de sucessp

        # Começando a thread de conversão de mp4 para mp3
        th.start_new_thread(_thread, ())
    except:
        reproduction_audio('erro', language)  # Aúdio de reprodução caso haja algum erro
def Main(text: str, language: str) -> None:
    try:
        # Removendo possíveis palavras que não são parte do nome da música
        text = removing_words(text,
                              ['song', 'música', 'acessar', 'na', 'músicas'])

        # Definindo a URL de pesquisa
        url = f'https://youtube.com/search?q={text}'

        source = get(url).text  # Requisição GET a partir da URL montada

        # Salvando o resultado em .txt para poder ler as variáveis JavaScript geradas
        open("video.txt", "w", encoding='utf-8').write(source)

        # Lendo o arquivo resultante, identificando a primeira referência para um vídeo
        with open("video.txt", "r", encoding="utf-8") as src:
            text = src.read()  # Lendo o arquivo
            """
                Procurando a primeira referência para um vídeo, localizada em um objeto JavaScript
                que contém todas as informações dos vídeos a serem listados. Tal referência, tem como propriedade
                "url" e a URL sempre começa com "/watch?v"
            """
            init = text.index('"url":"/watch?v')  # Primeiro index
            fin = text[init + 7:].index(
                '"'
            ) + init + 7  # Último index, eliminando a parte da propriedade ("url": ")
            url_video = f'www.youtube.com{text[init+7:fin]}'  # Definindo a url do vídeo

        # Abrindo o vídeo no navegador padrão
        webbrowser.open(url_video)
    except:
        reproduction_audio('erro', language)  # Reproduz áudio de erro
def detection_portal_notas(text: str, language: str) -> None:
    if detection_much_words([
            'resultado escola', 'notas', 'nota', 'notes', 'notes in portal',
            'note'
    ], text):
        reproduction_audio('notas', language)
        Portal_de_Notas(language)
        reproduction_audio('notas_capturadas', language)
Exemplo n.º 6
0
    def config_functions(self, text) -> bool:
        factor_return: bool = False  # Criando a variável de retorno da função
        if self.language == 'pt-br':
            # Caso quero mudar de língua
            if detection_much_words(['mudar língua', 'língua', 'quero inglês'],
                                    text):
                reproduction_audio('mudanca_lingua', self.language)
                self.language = 'en'
                self.att_hotword()
                factor_return = True

            # Caso eu queira que o programa seja encerrado
            if detection_much_words(
                ['descansada', 'dormir', 'encerra programa'], text):
                reproduction_audio('saida', 'pt-br')
                sys.exit()  # Encerrando o programa
        elif self.language == 'en':
            # Caso quero mudar de língua
            if detection_much_words(
                ['change language', 'language like Portuguese'], text):
                reproduction_audio('language_change', self.language)
                self.language = 'pt-br'
                self.att_hotword()
                factor_return = True

            # Caso eu queira que o programa seja encerrado
            if detection_much_words(['quit', 'out', 'quitting'], text):
                reproduction_audio('quit', 'en')
                sys.exit()  # Encerrando o programa
        return factor_return
def Main(text: str, language: str) -> None:
    try:
        text = unidecode(text)  # Retirando caracteres especiais
        with open(f'{path}\\Texts\\Musics\\playlists.txt',
                  'r') as source:  # Abrindo o arquivo
            playist = []
            # Para cada linha, adiciona os dados na lista
            for line in source:
                line = line.strip()
                playist_aux = line.split(';')
                playist.append(playist_aux)
            # As linhas foram adicionadas no vetor de playist para a manipulação

        linha = -1  # Definindo variável de seleção da playist
        for x in range(0, len(playist)):
            if playist[x][0] in text:  # Verificando se a playist foi escolhida
                linha = x

        if linha != -1:  # Se for diferente de -', quer dizer que uma playist foi escolhida na frase
            url = playist[linha][2]
            acrescimo(linha, playist)
        else:  # Se uma playist não tiver sido escolhida
            size = 0
            quant_cada_play = [
            ]  # Variável para saber quanto cada playist foi tocada
            for line in playist:  # Descobrindo o total de vezes em que a playist foi tocada
                size = int(line[1]) + size
                aux_play = []  # Variável auxiliar
                for x in range(0, int(line[1])):
                    aux_play.append(
                        x + 1
                    )  # Adicionando na variável auxiliar x vezes que a playist foi tocada
                quant_cada_play.append(aux_play)

            random_num = random.randint(1, size -
                                        1)  # Randorizando um número inteiro
            factor = 1  # O objetivo a partir daqui é aleatorizar uma playist de acordo com o número de vezes tocadas
            count = 0  # Ou seja, quanto mais vezes tocadas, maior a chance de cair ela
            for x in range(0, len(quant_cada_play)):
                for _ in range(0, len(quant_cada_play[x])):
                    if factor == random_num:
                        count = x  # Definindo a playist a ser tocada pela randorização
                    factor = factor + 1
            url = playist[count][2]

        browser.open(url)  # Abrindo na web

    except Exception as e:
        print(e)
        reproduction_audio('erro', language)  # Reproduz o aúdio de erros
Exemplo n.º 8
0
def Download(language: str) -> None:
    # Definindo a linguagem e as mensagens a serem enviadas nos prints
    if language == 'pt-br':
        message = ['Qual o link da música? ', 'Qual pasta deseja colocar?', 'Começando o download',
                   'Download da música ', ' realizado com sucesso', 'Convertendo...', 'Finalizado!']
    else:
        message = ['What is the song link? ', 'Which folder?', 'Starting download', 'Song download ', ' successfully',
                   'Converting...', 'Finished!']

    reproduction_audio('musica_baixar', language)  # Reproduzindo audio
    url = input(f'{message[0]}(Dê um espaço ao final para não entrar no link): ')  # Obtendo o link

    folder = input(message[1])  # Pegando o diretório a ser salvo
    
    main(url, folder, message, language)
Exemplo n.º 9
0
def clima(language: str) -> None:
    try:
        # URL da página de pesquisa do clima do Google
        url = "https://www.google.com/search?sxsrf=ALeKk03XRgXBBQ0xMOdRKjfYMz17naVuJQ%3A1586300662125&ei=9gaNXumgB5Ke5OUPlcCEwAQ&q=temperatura+agora+governador+valadares&oq=temperatura+atual+de+gover&gs_lcp=CgZwc3ktYWIQAxgAMgYIABAWEB4yBQgAEM0CMgUIABDNAjIFCAAQzQIyBQgAEM0COgQIABBHOgcIIxDqAhAnOgQIIxAnOgQIABBDOgUIABCDAToCCAA6BAgAEAo6BwgAEEYQgAJKNQgXEjEwZzQ4NWczMDdnMjUwZzI1M2cyNDdnMzM0ZzI1MmcyNjRnNDM2ZzMzNGcyNDJnMjM0Sh0IGBIZMGcxZzFnMWcxZzFnMWcxZzFnMWc1ZzVnOVDbljVYsbc1YKjANWgCcAR4AYAB7QOIAco-kgEIMi0xNC4zLjiYAQCgAQGqAQdnd3Mtd2l6sAEK&sclient=psy-ab"

        site = get(url)  # Realizando a requisição

        # Transformando a resposta em um HTML legível com BeautifulSoup
        soup = BeautifulSoup(site.text, 'html.parser')

        # Procurando o elemento de descrição do tempo a partir de outros que tem a mesma das suas classes
        descricao = soup.findAll(attrs={'class': 'BNeawe tAd8D AP7Wnd'})
        descricao = descricao[len(descricao) -
                              1].text  # Texto do último elemento (dia atual)

        # Retirando a data e o horário, sobrando somente a descrição do tempo
        descricao = descricao.split('\n')[1]

        # Procurando os elementos informativos de temperatura
        temperatura = soup.findAll(attrs={'class': 'BNeawe iBp4i AP7Wnd'})
        temperatura = temperatura[1].text  # Texto do segundo elemento

        # Criação do áudio informativo dependendo da linguagem
        if language == 'pt-br':
            cria_audio(
                f'A temperatura atual é de {temperatura} e está {descricao}',
                'clima', language)
        else:
            # Se for em inglês, como as informações são em português, é utilizado a lib do Google Translator
            # para traduzir em inglês

            translate = Translator()
            descricao = translate.translate(descricao).text
            cria_audio(
                f'The current temperature is {temperatura} and is {descricao}',
                'clima', language)

        ps(f'{path}/audios_{language}/clima.mp3'
           )  # Reproduzindo o áudio criado
        os.remove(f'{path}/audios_{language}/clima.mp3')  # Excluindo o áudio

    except:
        reproduction_audio('erro', language)  # Reproduz áudio de erro
Exemplo n.º 10
0
def Download(language: str) -> None:
    # Definindo a linguagem e as mensagens a serem enviadas nos prints
    if language == 'pt-br':
        message = [
            'Qual o link da playlist? ',
            'Qual pasta deseja colocar (com o nome título da playlist)?',
            'Começando o download', 'Download da playlist ',
            ' realizado com sucesso', 'Convertendo...', 'Finalizado!'
        ]
    else:
        message = [
            'What is the playlist link? ', 'Which folder?',
            'Starting download', 'Playlist download ', ' successfully',
            'Converting...', 'Finished!'
        ]

    reproduction_audio('playlist_baixar', language)  # Reproduzindo audio
    url = input(
        f'{message[0]}(Dê um espaço ao final para não entrar no link): '
    )  # Obtendo o link

    folder = input(message[1])  # Pegando o diretório a ser salvo

    try:
        playlist = Playlist(url)  # Capturando os tipos de downloads
        playlist._video_regex = re.compile(
            r"\"url\":\"(/watch\?v=[\w-]*)"
        )  # Transformando a url em algo legível para a lib

        # Para cada vídeo, chama a função de baixar música, sem a opção fala
        for url in playlist.video_urls:
            main(url, folder, message, language, fator=False)
            sleep(0.2)

        # Removendo o arquivo de pasta temporário
        os.remove(folder + '\\tmp')

    except:
        reproduction_audio(
            'erro', language)  # Aúdio de reprodução caso haja algum erro
Exemplo n.º 11
0
def Main(text: str, language: str) -> None:
    reproduction_audio('acessar_pesquisa', language)

    padrao = "[0-9]{1,2}"  # Descobrindo o número de guias por expressões regulares
    retorno = re.findall(
        padrao, text
    )  # Achando todos os números, sendo que o último será o número de abas
    num_guias = int(retorno[len(retorno) - 1])  # Defifindo o número de guias

    list_words = ['abas', 'aba', 'guias',
                  'guia']  # Lista de palavras com o significado de abas
    list_artigos = ['no', 'em', 'na']  # Artigos
    for word in list_words:
        if word in text:
            source_index = text.index(
                word
            )  # Saber qual indice da string está a palavra abas, para separa em duas

    text = text[:source_index]  # Separando o text em duas
    source = text[source_index:]  # Parte da fonte do text
    text = text.replace(str(num_guias),
                        '').strip()  # Remodulando a variável text
    source = removing_words(source, list_words)
    source = removing_words(source, list_artigos)  # Descobrindo a fonte pedida

    if detection_much_words(
            list_artigos,
            text[len(text) -
                 3:]):  # Caso a ultima palavra seja um artigo, ela é retirada
        text = removing_words(text, list_artigos)

    if source == '':  # Caso não tenha informado a fonte, será o google
        source = 'google'

    for url in search(f'"{text}"{source}',
                      stop=num_guias):  # Descobrindo os sites pela lib
        browser.open(url)  # Acessando as url's
def Download(language: str) -> None:
    # Definindo a linguagem e as mensagens a serem enviadas nos prints
    if language == 'pt-br':
        message = [
            'Qual o link do vídeo?  ', 'Qual pasta?', 'Começando o download',
            'Download do vídeo ', ' realizado com sucesso'
        ]
    else:
        message = [
            'What is the video link?  ', 'What folder?', 'Starting download',
            'Video download ', ' successfully'
        ]

    reproduction_audio('video_baixar', language)  # Reproduzindo audio
    url = input(message[0])  # Obtendo o link
    position = url.replace(' ', '')  # Tirando o espaço final
    folder = input(message[1])
    try:
        yt = YouTube(position)  # Capturando os tipos de downloads
        title = yt.title  # Pegando o título do vídeo
        tipos_downloads = yt.streams.filter(
            progressive=True)  # Pegando todos os tipos de downloads
        stream = None  # Definindo o meu tipo de download
        # Escolhendo a melhor qualidade e o melhor FPS
        qualidade = 0
        fps = 0
        for link in tipos_downloads:
            # Verifcando se existe resolução e fps
            if link.resolution is not None and link.fps is not None and link.mime_type == 'video/mp4':
                # Verificando se a qualidade ou o fps eh melhor que o anterior
                if int(link.resolution.replace('p', '')) >= qualidade and int(
                        link.fps) >= fps:
                    stream = link  # Atribuindo o novo tipo de download
                    qualidade = int(link.resolution.replace(
                        'p', ''))  # Mudando a resolução
                    fps = int(link.fps)  # Mudando o fps

        # Thread para baixar a música enquanto as ações são executadas normalmente
        def thread():
            print(message[2])
            stream.download(folder)  # Realizando o download
            print(f'{message[3]}{title}{message[3]}'
                  )  # Escrevendo o download finalizado

        th.start_new_thread(thread, ())  # Inicializando a thread de download
        reproduction_audio('baixar_video', language)
    except:
        reproduction_audio(
            'erro', language)  # Aúdio de reprodução caso haja algum erro
Exemplo n.º 13
0
def Main(text: str, language: str) -> None:
    """
        Listagem de sites possíveis com suas respectivas URL'S, se algum site pedido não
        estiver na lista, reproduz o aúdio de erro
    """
    sites = {
        'google drive':
        "https://drive.google.com/drive/u/0/my-drive",
        'youtube':
        "https://www.youtube.com/",
        'gmail':
        "https://mail.google.com/mail/u/0/#inbox",
        'plural':
        'https://maestro.plurall.net/?state=14795553868286406#/home',
        'notas':
        'http://prados101.fiemg.com.br/Corpore.Net/Login.aspx?autoload=false&ReturnUrl=%2fCorpore.Net%2fMain'
        '.aspx%3fSelectedMenuIDKey%3d%26ShowMode%3d2',
        'sesi':
        'https://sesieducacao.com.br/publico/index.php',
        'what':
        'https://web.whatsapp.com/',
        'alura':
        'https://cursos.alura.com.br/dashboard',
        'descomplica':
        'https://descomplica.com.br/cursos/medicina-extensivo-completo-2020-A/inicio/',
        'tradutor':
        'https://www.google.com/search?q=translate&oq=tra&aqs=chrome.0.69i59l2j69i57j69i59j0j69i61l3'
        '.991j0j7&sourceid=chrome&ie=UTF-8 '
    }

    try:
        url = ''  # Definindo variável de url

        # Verificando se existe o site pedido na lista de URL'S
        for web in sites:
            if web in text:
                url = sites[
                    web]  # Se existe, define a url como a do respectivo site
        # Se a URL não tiver vazia, abre no navegador
        if url != '':
            webbrowser.open(url)
            reproduction_audio('acessar_site', language)

        # Se tiver vazia, reproduz o aúdio de "erro"
        else:
            reproduction_audio('desculpa_site', language)
    except:
        reproduction_audio('erro', language)  # Reproduz aúdio de erro
def Main(text: str, language: str):
    reproduction_audio('acessar_pesquisa', language)
    url = "https://www.google.com/search?q="  # Inicial da URL
    text_search = f'{url}{text}'  # Juntando com o texto a ser pesquisado
    webbrowser.open(text_search)  # Abrindo no navegador
Exemplo n.º 15
0
 def _thread():
     # Começando a conversão de MP4 para MP3
     print(message[5])
     video_to_audio(folder, time, title)  # Convertendo...
     print(message[6])
     if(speak): reproduction_audio('musica_terminada', language)  # Reprodução de aúdio de sucessp
def detection_corona_virus(text: str, language: str) -> None:
    if detection_much_words(['coronavirus', 'corona'],
                            text):  # Casos de coronavírus
        reproduction_audio('capturando_web', language)
        corona_virus(language)
def Portal_de_Notas(language: str) -> None:
    try:
        # Definindo configurações de login
        login = {'user': '******', 'password': '******'}

        # URL inicial
        url = "https://prados101.fiemg.com.br/Corpore.Net/Login.aspx"

        # URL para identificar qual contexto educacional o aluno está, ou seja, a série
        url_contexto_educacional = "http://prados101.fiemg.com.br/Corpore.Net/Source/Edu-Educacional/RM.EDU.CONTEXTO/EduSelecionarContextoModalWebForm.aspx?Qs=ActionID%3dEduNotaAvaliacaoActionWeb%26SelectedMenuIDKey%3dmnNotasAval"

        # URL com as notas de cada etapa do aluno naquela série
        url_notas_etapa = "http://prados101.fiemg.com.br/Corpore.Net/Main.aspx?ActionID=EduNotaEtapaActionWeb&SelectedMenuIDKey=mnNotasEtapa"

        # Inicialização do driver de execução
        driver = webdriver.Chrome(
            executable_path=f"{path}\\Functions\\Web_Scraping\\chromedriver.exe"
        )

        driver.get(url)  # Primeira requisição ao site de login

        driver.find_element(By.NAME, 'txtUser').send_keys(
            login['user'])  # Preenchendo a informação do usuário
        driver.find_element(By.NAME, 'txtPass').send_keys(
            login['password'])  # Preenchendo a informação da senha
        driver.find_element(By.NAME, 'btnLogin').click()  # Submetendo

        # Após a submissão, escolha da atividade na página inicial, se aparecer a opção, se não, continua
        try:
            driver.find_element(
                By.ID, 'ctl17_EDU_EduNotaEtapaActionWeb_LinkControl').click()
        except:
            pass

        driver.get(url_contexto_educacional
                   )  # Requisição para página de contexto educacionals

        time.sleep(0.5)  # Esperando um tempo para a página carregar
        tr = driver.find_elements_by_id(
            'rdContexto')  # Escolhendo o ano escolar

        tr[0].click()  # Seleção do ano, no meu caso, está 2019

        driver.get(
            url_notas_etapa)  # Requisição para página das notas das etapas

        element = driver.find_element(
            By.ID, 'ctl24_xgvNotasFilial_DXMainTable')  # Tabela de elementos

        # Transformando o elemento em HTML
        element_html = element.get_attribute("outerHTML")

        # Parsear conteúdo HTML
        soup = BeautifulSoup(element_html, 'html.parser')

        # Para cada matéria, procura das notas de cada etapa
        for materia in soup.findAll(attrs={'class': 'dxgvDataRow_Edu'}):
            params = []  # Lista com os parâmetros de nota
            for td in materia.findAll(attrs={'class': 'dxgv'}):
                params.append(
                    td.text
                )  # Para cada parâmetro de nota, acrescenta-se o respectivo texto na variável

            # Impressão dos dados da matéria, sendo o sexto a Primeira Etapa, nono a Segunda, e décimo segundo a Terceira
            print(
                f'Matéria: {params[3]} ; Primeira Etapa: {params[5]} ; Segunda Etapa: {params[8]} ; Terceira Etapa: {params[11]}'
                + '\n')

        # Abandonando o navegador
        driver.quit()

    except:
        reproduction_audio('erro', language)  # Reproduz aúdio de erro
Exemplo n.º 18
0
    def config_functions(self, text) -> bool:
        factor_return: bool = False  # Criando a variável de retorno da função
        if self.language == 'pt-br':
            # Caso quero mudar de língua
            if detection_much_words(['mudar língua', 'língua', 'quero inglês'],
                                    text):
                reproduction_audio('mudanca_lingua', self.language)
                self.language = 'en'
                factor_return = True

            # Caso eu queira que o programa seja encerrado
            elif detection_much_words(
                ['descansada', 'dormir', 'encerra programa'], text):
                reproduction_audio('saida', 'pt-br')
                sys.exit()  # Encerrando o programa

            # Caso eu queira escrever manualmente o comando
            elif detection_much_words(
                ['para texto', 'input', 'entrada de texto'], text):
                reproduction_audio('input', self.language)
                entrada = input('Escreva o comando: '
                                )  # Pegando o comando na entrada do cmd
                entrada = entrada.lower().strip(
                )  # Manipulando a string, deixando minúscula e sem espaços finais
                self.functions(
                    entrada
                )  # Mandando o texto para realização do comando descrito
                factor_return = True

        elif self.language == 'en':
            # Caso quero mudar de língua
            if detection_much_words(
                ['change language', 'language like portuguese'], text):
                reproduction_audio('language_change', self.language)
                self.language = 'pt-br'
                factor_return = True

            # Caso eu queira que o programa seja encerrado
            elif detection_much_words(['quit', 'out', 'quitting'], text):
                reproduction_audio('quit', 'en')
                sys.exit()  # Encerrando o programa

            # Caso eu queira escrever manualmente o comando
            elif detection_much_words(['for text', 'text input'], text):
                reproduction_audio('input', self.language)
                entrada = input('Escreva o comando: '
                                )  # Pegando o comando na entrada do cmd
                entrada = entrada.lower().strip(
                )  # Manipulando a string, deixando minúscula e sem espaços finais
                self.functions(
                    entrada
                )  # Mandando o texto para realização do comando descrito
                factor_return = True

        return factor_return
Exemplo n.º 19
0
def detection_playist(text: str, language: str) -> None:
    if detection_much_words(['playlist'],
                            text):  # Tocando uma playist definida ou aleatória
        reproduction_audio('playist_web', language)
        Main(text, language)
Exemplo n.º 20
0
def detection_clima(text: str, language: str) -> None:
    if detection_much_words(
        ['tempo', 'clima', 'temperatura', 'weather', 'climate', 'temperature'],
            text):
        reproduction_audio('capturando_web', language)
        clima(language)
def detection_acessar_musica(text: str, language: str) -> None:
    if detection_much_words(['song', 'música', 'músicas'], text):
        reproduction_audio('musica', language)
        Main(text, language)