Executando verificação de segurança...
4

🤖 LowBot: Crie seu bot com Go em 9 minutos

O LowBot é um projeto em Go que visa facilitar a criação de fluxos de bot.

🤔 Por que escolher o LowBot?

📚 Scripting YAML simples e intuitivo para criar e modificar fluxos de bot.
🧩 Flexibilidade para regras de negócios personalizadas e ações exclusivas.
📡 Integração fácil em diferentes canais e plataformas de comunicação.

Let's code!

⚠ Este tutorial possui como pré requisitos:

  • ✅ Ter o Go instalado na máquina
  • ✅ Obter um token do Telegram - Como obter?

Para começar, crie uma pasta para o tutorial e siga as etapas:

📝 Inicie o Go Modules.

go mod init lowbot

📦 Instale o LowBot.

go get github.com/chrissgon/lowbot

⚙️ Crie o arquivo flow.yaml. Esse arquivo possui as especificações do nosso fluxo.

# O "name" define o nome do fluxo
name: lowbot

# O "steps" indica as etapas do fluxo
steps:
  # O "init" é a etapa inicial
  # Ela apenas indica o início do fluxo
  init:
    # O "next" escolhe a próxima etapa
    # O valor "default" é obrigatório
    next:
      default: intro

  intro:
    # A "action" define a ação que a etapa vai realizar
    # A action "Button" envia texto e botões para o usuário
    action: Button
    # No "parameters" definimos informações adicionais para a "action"
    parameters:
      # O "texts" informa os textos
      texts:
        - 👋🏻 Olá, bem vindo ao tutorial do lowbot 🤖
        - Conseguiu entender a explicação?
      # O "buttons" informa os botões (Sim, Não)
      buttons:
        - Sim
        - Não
    # O "next" consegue definir a próxima etapa com base na resposta
    # O "default" indica a próxima etapa por padrão
    next:
      Sim: agradecimento
      Não: desculpas
      default: errado

  agradecimento:
    # A action "Text" apenas envia um texto
    action: Text
    parameters:
      texts:
        - 🤩 Que incrível!
        - 📚 Confira nossa documentação em https://github.com/chrissgon/lowbot
    next:
      default: end

  desculpas:
    action: Text
    parameters:
      texts:
        - 🥹 Que pena. Nesse caso você poderia me ajudar?
        - 😅 Comente no artigo sua crítica, vou me esforçar para acertar na próxima!
    next:
      default: end

  errado:
    action: Text
    parameters:
      texts:
        - 😕 Desculpe, não entendi!
    next:
      default: intro
    
  # A etapa "end" indica o fim do fluxo
  end:
    action: Text
    parameters:
      texts:
        - 👋🏻 Agradeço a atenção, até logo!

🎯 Crie o arquivo main.go.

package main

import "github.com/chrissgon/lowbot"

func main() {
    // Desabilita a persistência local
    lowbot.AutoLoad = false

    // Cria um fluxo
    flow, _ := lowbot.NewFlow("./flow.yaml")
    // Cria um canal (Usaremos o Telegram)
    channel, _ := lowbot.NewTelegram()
    // Cria uma persistência
    persist, _ := lowbot.NewLocalPersist()

    // Inicia o bot
    lowbot.StartBot(flow, channel, persist)
}

💻 Execute a aplicação com o seguinte comando

TELEGRAM_TOKEN=<YOUR_TELEGRAM_TOKEN> go run main.go

✅ Pronto. Confira a seguinte mensagem no terminal

Bot is now running. Press CTRL-C to exit.

🤩 Agora basta acessar o seu bot no Telegram. O resultado deve ser esse: 👇🏻

SQL8V.gif

Carregando publicação patrocinada...
2
1

Também é possível criar suas próprias actions!

Recentemente criei um bot de mangás. Utilizei o lowbot para colher as informações de qual mangá o usuário gostaria de ler, e o gomanga para buscar e exibi-los.

Irei publicar um artigo sobre esse projeto no futuro.

1
1