Construção de Chatbots
Memória e Persistência de Dado...
Memória do Fluxo
em uma conversa, você pode querer fazer perguntas ao usuário e lembrar suas respostas para usá las mais tarde você também pode acessar os valores dos parâmetros do sistema, como os valores dos slots que seu chatbot acabou de extrair parâmetros do sistema quando um usuário fala com um chatbot, o botpress rastreia todas as variáveis e parâmetros associados a esse chatbot à medida que o chatbot passa de um estado para outro se você executar o depurador, verá a árvore de todos os parâmetros do sistema que ele rastreia basta clicar no botão do depurador (circulado em vermelho abaixo) e ele será aberto no painel inferior por padrão é necessario acessar esses parâmetros do sistema a partir do flow editor e dentro do seu código (inclusive em ações) para fazer isso, tudo o que você precisa fazer para referenciar um parâmetro prefixando o caminho mostrado no emulador com event por exemplo, o caminho mostrado no depurador para o parâmetro language é nlu language você pode fazer referência a esse parâmetro adicionando event ao caminho mostrado no depurador, como event nlu language no flow editor, você pode acessar os parâmetros do sistema colocando os entre colchetes com dois conjuntos de colchetes 🖊 nota o idioma de entrada do usuário é {{event nlu language}} você também pode definir variáveis para serem o valor de um parâmetro do sistema da seguinte maneira para expressões brutas ou código (como em ações), você não precisa dos colchetes aqui está um exemplo de uma expressão bruta em uma transição da mesma forma, conforme descrito acima, é possível acessar os valores dos slots extraídos copiando o caminho do emulador e prefixando o com event (por exemplo, {{state session slots food value}} ) no construtor de fluxo e state session slots food value no código food é um slot que foi configurado pelo construtor do chatbot como é possível em javascript, também é possível acessar os parâmetros com a seguinte sintaxe {{state session slots\["food"] value}} variáveis existem quatro tipos diferentes de memórias no botpress; a diferença entre eles é a duração e o escopo user a memória é mantida para sempre para o usuário ao qual está associada session memória é mantida durante a sessão configurada temp a memória é mantida apenas durante o fluxo botmemory é o mesmo valor para todos os usuários do mesmo chatbot caso de uso comum na maioria das vezes, você dependerá do tipo user de memória temp a memória temp só está viva durante a duração de um fluxo configurando e acessando variáveis as variáveis podem ser configuradas ou declaradas usando a ação " definir variável " (consulte a seção memória de diálogo abaixo) ou código ao usar a caixa de diálogo de ação " definir variável ", a variável é configurada e recebe um valor 🖊 nota no código, a variável é declarada simplesmente usando a assim como com os parâmetros do sistema (consulte a seção parâmetros do sistema ), as variáveis podem ser acessadas no construtor de fluxo e na caixa de diálogo definir variável colocando as variáveis entre colchetes duplos (como {{temp user name}} ) 🖊 nota em código ou expressões brutas, a referência à variável não precisaria dos colchetes duplos por exemplo, seu chatbot referenciaria a variável como temp user name memória de bot a botmemória é o mesmo valor para todos os usuários do chatbot pense nisso como uma variável global, mas com escopo apenas para este chatbot como mudar o que está na memória? a maneira mais simples é usar a ação base setvariable você só precisa especificar o tipo de memória, o nome da variável e qual valor seu chatbot deve definir outro uso comum é com ações as ações permitem que você edite essas variáveis diretamente por exemplo, você pode escrever user firstname = 'potato' em seu arquivo de código para atualizar o nome do usuário