IDialogWaterfallStep interface
Assinatura para funções passadas como etapas para dialogAction.waterfall().
O Waterfalls permite que você solicite informações a um usuário usando uma sequência de perguntas. Cada etapa da cascata pode executar um dos prompts internos, iniciar uma nova caixa de diálogo chamando session.beginDialog(), avançar para a próxima etapa da cascata manualmente usando skip()ou encerrar a cascata.
Quando uma caixa de diálogo ou prompt interno é chamado de uma etapa de cascata, os resultados dessa caixa de diálogo ou prompt serão passados por meio do parâmetro results para a próxima etapa da cascata.
Os usuários podem dizer coisas como "não importa" para cancelar os prompts internos, portanto, você deve se proteger contra isso, pelo menos verificando results.response antes de continuar. Uma explicação mais detalhada de por que a cascata está sendo continuada pode ser determinada examinando o código retornado para resultados.retomados.
Você pode avançar manualmente para a próxima etapa da cascata usando a função skip() passada. Chamar skip({ response: "some text" }) com um IDialogResult permite que você imite com mais precisão os resultados de um prompt interno e pode simplificar sua lógica geral de cascata.
Você pode encerrar uma cascata mais cedo caindo em cada etapa da cascata usando chamadas para skip() ou simplesmente não iniciando outro prompt ou caixa de diálogo.
observação: Cascatas terá uma última etapa oculta que encerrará automaticamente a caixa de diálogo atual se você chamar um prompt ou caixa de diálogo da última etapa. Isso é útil quando você tem uma pilha profunda de caixas de diálogo e deseja uma chamada para session.endDialog() do último filho na pilha para encerrar toda a pilha. O fechamento do último filho disparará todos os seus pais para passar para esta etapa oculta que será em cascata o fechamento todo o caminho até a pilha. Esse normalmente é um comportamento desejado, mas se você quiser evitá-lo ou pará-lo em algum lugar no meio, será necessário adicionar uma etapa ao final da cascata que não faz nada ou chama algo como session.send() que não avançará a cascata para frente.