-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathmain.py
More file actions
61 lines (43 loc) · 1.64 KB
/
Copy pathmain.py
File metadata and controls
61 lines (43 loc) · 1.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# -*-coding:utf8;-*-
from loadAndroid import Load
from chatbot import Chatbot
from util import Voz
from util import Log
voz = Voz()
log = Log()
load = Load()
chatbor = Chatbot()
infos = load.carregarInformacoesIniciais()
modo_texto_ativo = False
aprender = True
def iniciar():
if not modo_texto_ativo:
voz.fale(load.iniciar(infos)) # Verificando nome e primeiro acesso
else:
load.iniciar(infos)
def receber_entrada():
if not modo_texto_ativo:
entrada_recebida = (voz.escute())
else:
entrada_recebida = input(str("%s: " % load.nomeUsu))
return entrada_recebida
def responder(entrada):
saida = chatbor.interagir(entrada, log.listar())
if not modo_texto_ativo:
voz.fale(saida[0])
print(load.nomeUsu, ": ", entrada)
print(load.nomeIa, ": ", saida[0])
log.reg(entrada, saida[0]) # Registra log
if not saida[1] and aprender: # Cadastra uma resposta se não existir
if not modo_texto_ativo:
chatbor.aprender1(entrada)
else:
chatbor.aprenderTxt1(entrada)
iniciar()
# A função inciar tem o objetivo de garantiro regsitro do usuário se esse for a primerira vez que o app está rodando
# Se não for a primeira vez, faz uma saudação comum (bom dia, boa tarde....)
while True:
responder(receber_entrada())
# A resposta que o usuário receberá seja por voz ou texto deriva da entrada que o usuário fornecer
# O clico de escuta/ responde se mantém a menos que o usuário diga algum comando de saída como "sair",
# comandos como repodução de música que colocam o app em espera ou pare o emulador QPython manualmente.