Skip to content

Commit e82eb4b

Browse files
committed
Exemplos relacionados a uso de armazenamento de dados - Dialogs.
1 parent 5185601 commit e82eb4b

File tree

2 files changed

+113
-0
lines changed

2 files changed

+113
-0
lines changed

src/Modulo-3/perguntarIdioma.js

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
/**
2+
*
3+
* Arquivo: perguntarIdioma.js
4+
* Data: 26/03/2018
5+
* Descrição: Desenvolvimento de um Bot que solicita nome de usuário com uma
6+
* mensagem de saudação! (Conceitos de Armazenamento de Dados: 'dataDialog')
7+
* Author: Glaucia Lemos
8+
*
9+
* LINK: https://docs.microsoft.com/pt-br/azure/bot-service/nodejs/bot-builder-nodejs-state
10+
*
11+
*
12+
*/
13+
14+
const restify = require("restify");
15+
const builder = require("botbuilder");
16+
17+
// Configuração do Server via Restify:
18+
const server = restify.createServer();
19+
server.listen(process.env.port || process.env.PORT || 3978, () => {
20+
console.log("%s Aplicação executando na porta %s", server.name, server.url);
21+
});
22+
23+
// Criação do chat connector para comunicar com o serviço do Bot Framework:
24+
const connector = new builder.ChatConnector({
25+
appId: "",
26+
appPassword: ""
27+
});
28+
29+
// Endpoint para executar as mensagens para os usuários:
30+
server.post("api/messages", connector.listen());
31+
32+
const bot = new builder.UniversalBot(connector);
33+
34+
// Bloco de Dialogs:
35+
bot.dialog('/', [
36+
session => {
37+
builder.Prompts.text(session, 'Oi! Tudo bem? Qual é o seu nome?');
38+
},
39+
40+
(session, results) => {
41+
session.userData.nome = results.response;
42+
session.send(`Olá! ${session.userData.nome}`);
43+
44+
session.beginDialog('/perguntarIdioma');
45+
}
46+
]);
47+
48+
bot.dialog('/perguntarIdioma', [
49+
session => {
50+
builder.Prompts.text(session, 'Qual é o idioma que você sabe falar?');
51+
},
52+
53+
(session, results) => {
54+
session.dialogData.idioma = results.response;
55+
56+
session.endDialog(`Ótimo **${session.userData.nome}**, você sabe falar o idioma
57+
**${session.dialogData.idioma}**.`);
58+
}
59+
]);
60+
61+

src/Modulo-3/saudacaoUserData.js

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
/**
2+
*
3+
* Arquivo: saudacaoUserData.js
4+
* Data: 26/03/2018
5+
* Descrição: Desenvolvimento de um Bot que solicita nome de usuário com uma
6+
* mensagem de saudação! (Conceitos de Armazenamento de Dados: 'userData')
7+
* Author: Glaucia Lemos
8+
*
9+
* LINK: https://docs.microsoft.com/pt-br/azure/bot-service/nodejs/bot-builder-nodejs-state
10+
*
11+
*
12+
*/
13+
14+
const restify = require("restify");
15+
const builder = require("botbuilder");
16+
17+
// Configuração do Server via Restify:
18+
const server = restify.createServer();
19+
server.listen(process.env.port || process.env.PORT || 3978, () => {
20+
console.log("%s Aplicação executando na porta %s", server.name, server.url);
21+
});
22+
23+
// Criação do chat connector para comunicar com o serviço do Bot Framework:
24+
const connector = new builder.ChatConnector({
25+
appId: "",
26+
appPassword: ""
27+
});
28+
29+
// Endpoint para executar as mensagens para os usuários:
30+
server.post("api/messages", connector.listen());
31+
32+
const bot = new builder.UniversalBot(connector);
33+
34+
// Bloco de Dialogs:
35+
bot.dialog('/', [
36+
(session, results, next) => {
37+
if (!session.userData.nome) {
38+
builder.Prompts.text(session, 'Olá! Tudo bem? Qual é o seu nome?')
39+
} else {
40+
next();
41+
}
42+
},
43+
44+
(session, results) => {
45+
if (results.response) {
46+
let msg = results.response;
47+
session.userData.nome = msg;
48+
}
49+
50+
session.send(`Olá! ${session.userData.nome}!`);
51+
}
52+
]);

0 commit comments

Comments
 (0)