GG.chatbot
The Forge

Ação

Uma ação é o que um bloco faz quando é executado. Um bloco pode ter várias ações.

Veja a definição da ação sendMessage:

import { createAction, option } from "@typebot.io/forge";
import { auth } from "../auth";

export const sendMessage = createAction({
  auth,
  name: "Send message",
  options: option.object({
    chatId: option.string.meta({ layout: {
      label: "Chat ID",
      placeholder: "@username",
    } }),
    text: option.string.meta({ layout: {
      label: "Message text",
      input: "textarea",
    } }),
  }),
});

A lógica de execução da ação é definida separadamente, em um arquivo handlers.ts. Veja a documentação de Run para mais informações.

Exemplo de ação

Propriedades

namestringobrigatório

O nome da ação.

authAuth

Se o bloco exigir autenticação, o objeto de autenticação precisa ser passado à ação.

baseOptionsz.ZodObject<any>

Se o bloco tiver opções definidas (veja as propriedades do bloco), informe-as aqui.

optionsz.ZodObject<any>

As opções de configuração da ação. Veja Options para mais informações.

getStreamVariableId(options) => string | undefined

Se a ação puder transmitir conteúdo em tempo real, esta função deve devolver o ID da variável que receberá esse conteúdo. Veja Server function + stream para mais informações.

getEmbedSaveVariableId(options) => string | undefined

Se a ação exibir um balão incorporado que aguarda um evento, esta função deve devolver o ID da variável onde os dados do evento serão salvos. Veja Display embed bubble para mais informações.

getSetVariableIds(options) => string[]

Função que devolve um vetor com os IDs das variáveis definidas por esta ação. É usado para análise e acompanhamento.

fetchers{ id: string }[]

Vetor de referências a buscadores, usados para preencher listas suspensas dinamicamente. Cada buscador deve ser exportado do arquivo da ação e implementado no arquivo de handlers. Veja Fetcher para mais informações.

turnableIntoTurnableIntoParam[]

Vetor de IDs de blocos nos quais esta ação pode ser convertida. Permite ao usuário alternar facilmente entre blocos parecidos, preservando a configuração.

A lógica de execução da ação agora é definida separadamente, em um arquivo handlers.ts, usando createActionHandler() e createFetcherHandler(). Veja a documentação de Run para saber como implementar os handlers.

On this page