-
Notifications
You must be signed in to change notification settings - Fork 0
/
funcao_3.js
50 lines (44 loc) · 1.27 KB
/
funcao_3.js
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
/* funcao_3.js
* Transcritor de texto em comandos
* Outubro 2020
*/
msg.payload = {
chatId: msg.payload.chatId,
type: "message",
content: getComando(msg.payload.content)
};
return msg
function getComando(mensagem) {
mensagem = mensagem.toLowerCase()
let re_on = /ligar|ativar|acender/
let re_off = /desligar|desativar|apagar/
if (mensagem.match(re_off)) {
return getDispositivo(mensagem, 'off')
} else if (mensagem.match(re_on)) {
return getDispositivo(mensagem, 'on')
} else {
return 'Comando não encontrado!';
}
}
function getDispositivo(comando, status) {
let re_ilumicao = /luz|lâmpada|lampada|iluminação|iluminacao/
let re_ar = /condicionado|condicionador|condicionamento|split/
if (comando.match(re_ilumicao)) {
return getLocal(comando, status)
} else if (comando.match(re_ar)) {
return 'ar_' + status
} else {
return 'Dispositivo inválido!'
}
}
function getLocal(comando_2, status_2) {
if (comando_2.includes('quarto')) {
return 'luz_' + status_2 + '_qtr'
} else if (comando_2.includes('sala')) {
return 'luz_' + status_2 + '_sala'
} else if (comando_2.includes('cozinha')) {
return 'luz_' + status_2 + '_czn'
} else {
return 'Dispositivo inválido!'
}
}