/ifpbbot

Servidor para chatbot com Dialogflow integrado ao WhatsApp e Telegram

Primary LanguageJavaScript

Logo

IFPB Picuí ChatBot

Faz a integração do Dialogflow com o WhatsApp e Telegram


🌐 Site

Você pode acessar o chatbot diretamente pelo site:

Clique aqui para acessar


⬇ Download

git clone https://github.com/josejefferson/ifpbbot.git IFPBPicuiChatBot
cd IFPBPicuiChatBot

🔧 Instalação

Se você possui o navegador Chrome instalado em seu computador, você pode definir a variável de ambiente PUPPETEER_SKIP_DOWNLOAD como qualquer valor para não fazer o download do Chromium automaticamente

npm install

🔧 Configuração

❌ Desabilitar uma plataforma

Caso você queira desativar alguma plataforma, como o WhatsApp ou Telegram, você deve definir a variável de ambiente DISABLE_WHATSAPP, DISABLE_TELEGRAM, DISABLE_GOOGLE_SHEETS, DISABLE_WEBHOOK, DISABLE_SCHEDULER ou DISABLE_SITE como 1


1. Configuração do Dialogflow

  • Defina a variável de ambiente do seu projeto no Dialogflow, credenciais em formato de JSON do seu projeto (tutorial aqui)
TYPE =
PROJECT_ID =
PRIVATE_KEY_ID =
PRIVATE_KEY =
CLIENT_EMAIL =
CLIENT_ID =
AUTH_URI =
TOKEN_URI =
AUTH_PROVIDER_X509_CERT_URL =
CLIENT_X509_CERT_URL =

2. Configuração do WhatsApp

  • Execute o servidor e ao aparecer o QR Code escaneie utilizando a função Aparelhos conectados do seu app
  • Logo após, um arquivo whatsapp_auth.json será gerado na raiz.

Se você NÃO estiver usando o WhatsApp Business, defina a variável de ambiente WHATSAPP_LISTS=1 para ativar as listas do WhatsApp, pois o WhatsApp Business não suporta

Configurar números permitidos (opcional)

Caso você queira, você pode restringir o acesso do robô a determinados contatos. Para isso, coloque-os na variável de ambiente WHATSAPP_ALLOWED_NUMBERS os números separados por vírgula, exemplo: 55ddxxxxxxxx@c.us,55ddxxxxxxxx@c.us (onde d é o DDD do número e o x são os dígitos do número sem o 9)


3. Configuração do Telegram

  • Crie seu bot no @BotFather e coloque o token na variável de ambiente TELEGRAM_BOT_TOKEN

Configurar Webhook

  • Coloque o URL do seu servidor Webhook na variável TELEGRAM_WEBHOOK_URL

4. Configuração do Planilhas Google

Se você não quiser usar o Planilhas Google, use a variável DISABLE_GOOGLE_SHEETS e pule esta etapa

  • Instruções disponíveis em breve

5. Configuração do Webhook

Se você não quiser usar o webhook, use a variável DISABLE_WEBHOOK e pule esta etapa

  • Defina a variável MONGO_DB com o link do seu banco de dados MongoDB

🚀 Executar

Para iniciar o servidor, basta executar o comando:

npm start

Caso precise ver as respostas do Dialogflow, execute no modo dev:

npm run dev

Se quiser executar apenas o servidor do WhatsApp, execute:

npm run whatsapp

Ou se quiser apenas o servidor do Telegram:

npm run telegram

Ou apenas a integração com Planilhas Google:

npm run googleSheets

Para executar apenas o servidor webhook:

npm run webhook

Ou para apenas o site:

npm run site

Desenvolvido por Jefferson Dantas