gongo-wabot é um bot para WhatsApp desenvolvido para automatizar respostas baseadas em "stages" (etapas de conversa). Ele permite interações dinâmicas e organizadas, facilitando a comunicação automatizada.
Inicialmente, criei ele para um fim comercial, porém decidi publicá-lo no GitHub com o objetivo de ajudar aqueles que querem desenvolver um projeto semelhante e estão com dificuldades 🚀 . Ele foi construido para uma livraria, porém é facil modificalo para outro fins.
O gongo-wabot foi criado para responder mensagens automaticamente no WhatsApp, seguindo um fluxo de conversa estruturado. Ele pode ser utilizado para:
- 🤖 Atendimento automatizado
- 💬 Respostas predefinidas baseadas em estágios da conversa
- 📞 Auxílio em processos interativos, como pedidos, suporte ou informações automatizadas
O projeto foi desenvolvido utilizando:
- 📝 Linguagem: Go (Golang)
- 📚 Bibliotecas: whatsmeow
- 🏗️ Arquitetura: Modularizada para facilitar a manutenção e expansão
- 🔄 Baseado em sessões, conversas com pessoas distintas e em estágios de conversa
~/gongo-wabot/
├── internal/ # Implementação de lógica interna
│ ├── bot/ # Configuração e lógica do bot
│ │ ├── connect.go # Conexão com o WhatsApp
│ │ └── handler.go # Manipulação de mensagens recebidas
│ ├── session/ # Gerenciamento de estágios da conversa e sessões
│ │ ├── config.go # Configuração da sessão
│ │ ├── methods.go # Métodos de manipulação da sessão
│ │ └── stages.go # Definição dos estágios da conversa
│ ├── types/ # Definição de tipos usados no projeto
│ ├── helpers/ # Funções auxiliares
│ ├── services/ # Configuração de serviços externos (banco de dados, storage)
│ ├── storage/ # Armazenamento da sessão
│ └── utils/ # Funções utilitárias
├── main.go # Arquivo principal do bot
└── README.md # Este arquivo
- 📥 Receber mensagens: O bot captura mensagens enviadas por usuários.
- 🔄 Gerenciamento de "sessions" : Uma conversa com um número de telefone representa um sessão
- ⚙️ Lógica de "stages": O bot responde com base no estágio atual da conversa.
- ✉️ Envio de respostas automatizadas: Respostas são definidas conforme o contexto da interação.
- Go instalado
- Conta no WhatsApp ou um número configurado com whatsmeow
- Banco de dados PostgreSQL e SQLite configurados
Clone o repositório e entre na pasta do projeto:
git clone https://github.com/jhenriquem/gongo-wabot.git
cd gongo-wabot
Baixe as dependências:
go mod tidy
Antes de rodar o bot, configure as variáveis de ambiente no arquivo .env:
DATABASE_URL=postgres://user:password@host:port/dbname
STORAGE_KEY=
STORAGE_URL=
go run main.go
Para personalizar as respostas, edite o arquivo stages.go e methods.go dentro da pasta internal/session/. Cada estágio da conversa pode ser configurado conforme a necessidade do seu negócio.