WhatsApp API Python ChatBot

Overview

WhatsApp API Python ChatBot

Este repositório contém uma aplicação que se utiliza da API do Moorse para envio e recebimento de mensagens, tornando possível, a partir do uso de uma simples base de dados como o sqlite, a simulação de atendimento de uma pizzaria.

Nosso Site · Documentação

Como usar?

🔍 Pré-instalação

Para utilizar esta aplicação, é necessário antes de tudo estar registrado em nosso site, apenas necessitamos do seu e-mail e uma senha que você pode escolher e tudo estará pronto.

🚀 Instalando e configurando a aplicação

Este tópico objetiva concluir corretamente a instalação e configuração do projeto.

O primeiro requisito para conseguir executar esta aplicação com sucesso é ter o Python 3 instalado corretamente em sua máquina, para isso, segue link da página oficial do Python para download e instalação do mesmo. Após tê-lo instalado certifique-se de ter instalado o pip (instalador de módulos do Python) juntamente ao Python. Sua instalação pode ser verificada pela simples execução no terminal do comando pip quando em Linux, entretanto, se o usuário utilizar Windows podem haver 3 combinações diferentes para chamada do pip, são elas:

  1. python -m pip
  2. python3 -m pip
  3. py -m pip

Tal variação ocorre porque o caminho do pip não vem por padrão no caminho da variável PATH, entretanto, para sanar tal variação, recomenda-se fortemente que o usuário adicione o caminho do pip à variável de ambiente PATH, para que possa utilizar o pip igualmente no Linux e no Windows.

(A partir daqui, consideraremos que o leitor usuário de Windows já colocou o caminho do pip dentro da variável PATH, porém, é possível continuar a leitura da documentação tendo que lidar com as três possibilidades de utilização do pip.)

Pós instalação do Python e do pip, devemos instalar os pacotes necessários à utilização da aplicação. Tais pacotes se encontram na raiz do projeto dentro do arquivo requirements.txt, para a instalação destes basta executar o comando install do pip com o argumento -r que servirá para ler o arquivo requirements.txt. Então, vá até a pasta onde o requirements.txt está e no terminal/cmd utilize:

pip install -r requirements.txt

Agora com todas as dependências instaladas, entre na pasta resources do repositório e edite o arquivo application.yml, aqui, basta adicionar seu token e sua integração desejada nos respectivos lugares indicados no arquivo. Para conseguir tais dados siga os passos:

  • Para conseguir o token, logue na sua conta do Moorse e em dashboard, vá até o canto superior direito e clique em "copiar token de acesso".

  • De forma semelhante à de conseguir o token, para conseguir o id da sua integração logue na sua conta do Moorse e na aba lateral esquerda clique em whatsapp, quando ver sua integração desejada clique no ícone de engrenagem (Gerenciar integração), após isso, sua integração surge na URL do site, basta retirar ela de lá.

💻 Configurando o webhook

Este é o último passo da configuração para que você consiga utilizar a API do Moorse. Para que nossa API lhe envie requisições HTTP quando mensagens forem enviadas ao seu Whatsapp, é necessário que ela conheça seu IP, entretanto, isso nem sempre é possível, e para facilitar tal comunicação, utilizaremos o ngrok, ele será responsável por receber as requisições da API do Moorse e, então, redirecioná-las ao seu computador, assim, certifique-se de baixá-lo e instalá-lo corretamente.

Agora com o ngrok instalado, precisamos criar nosso ip remoto, para isso, use o comando:

ngrok http 8080

Isso faz o ngrok criar um ip remoto que quando recebe uma requisição, redireciona-a ao seu computador. Agora com nosso ip remoto em mãos, precisamos avisar à API da Moorse que queremos receber informações das novas mensagens nesse ip, para isso, logue em sua conta da moorse e na aba lateral clique em webhook, vá até adicionar novo webhook, escolha o método POST, e na URL coloque o ip remoto fornecido pelo ngrok seguido por /webhooks (Observe que sempre que o ngrok for desligado será necessário refazer toda esta parte).

Tudo pronto!

Sua aplicação e seus webhooks foram totalmente configurados.

⚙️ Executando a aplicação ⚙️

A aplicação principal fica dentro da pasta app, o arquivo é nomeado de main.py, basta executá-lo para que o bot seja ligado e receba as requisições enviadas pela API do Moorse.

Moorse support free on Whatsapp, Telegram and Discord

Whatsapp Telegram Discord
Baby Villager Bot

This script scrapes and stores the availability of timeslots for Car Driving Test at all RTA Serivce NSW centres in the state. Dependencies Account wi

Milo Weinberg 3 Dec 16, 2021
Simple script to ban bots at Twitch chats using a text file as a source.

AUTOBAN 🇺🇸 English version Simple script to ban bots at Twitch chats using a text file as a source. How to use Windows Go to releases for further in

And Paiva 5 Feb 06, 2022
Github integration with Telegram

The Telegram bot myGit is your GiHub assistant. In your conversations with your team, you can simply insert the information about the projects you are working at.

Alexandru Buzescu 2 Jan 06, 2022
YouTube playlist Files downloaded by FDM are not organized according to the original order on YouTube

Youtube-Playlist-File-Organizer YouTube playlist Files downloaded by Free Download Manager are not organized according to the original order on YouTub

David Mainoo 3 Dec 27, 2021
Complete portable pipeline for masking of Aadhaar Number adhering to Govt. Privacy Guidelines.

Aadhaar Number Masking Pipeline Implementation of a complete pipeline that masks the Aadhaar Number in given images to adhere to Govt. of India's Priv

1 Nov 06, 2021
Module to use some statistics from Spotify API

statify Module to use some statistics from Spotify API To use it you have to import the functions into your own project. You have also to authenticate

Miguel Cózar 2 Jun 02, 2022
Keypirinha plugin to install packages via Chocolatey

Keypiriniha Chocolatey This is a package for the fast keystroke launcher keypirinha (http://keypirinha.com/) It allows you to search & install package

Shadab Zafar 4 Nov 26, 2022
This wrapper now has async support, its basically the same except it uses asyncio

This is a python wrapper for my api api_url = "https://api.dhravya.me/" This wrapper now has async support, its basically the same except it uses asyn

Dhravya Shah 5 Mar 10, 2022
The Python SDK for the BattleshAPI game

BattleshAPy The Python SDK for the BattleshAPI game Installation This library will be eventually going on PyPI, but until then, simply clone or downlo

Christopher 0 Apr 18, 2022
Ross Virtual Assistant is a programme which can play Music, search Wikipedia, open Websites and much more.

Ross-Virtual-Assistant Ross Virtual Assistant is a programme which can play Music, search Wikipedia, open Websites and much more. Installation Downloa

Jehan Patel 4 Nov 08, 2021
Weee - Advanced project's versions bumper

Weee - Advanced project's versions bumper

Yan Kurbatov 2 Jun 06, 2022
Python + AWS Lambda Hands OnPython + AWS Lambda Hands On

Python + AWS Lambda Hands On Python Criada em 1990, por Guido Van Rossum. "Bala de prata" (quase). Muito utilizado em: Automatizações - Selenium, Beau

Marcelo Ortiz de Santana 8 Sep 09, 2022
Another Autoscaler is a Kubernetes controller that automatically starts, stops, or restarts pods from a deployment at a specified time using a cron annotation.

Another Autoscaler Another Autoscaler is a Kubernetes controller that automatically starts, stops, or restarts pods from a deployment at a specified t

Diego Najar 66 Nov 19, 2022
Autov2new - Pro Auto Filter Bot V2

Pro Auto Filter Bot V2 Deploy You can deploy this bot anywhere. Watch Deploying

1 Jan 06, 2022
Generate discord nitro codes and check them

Discord Nitro Generator and Checker A discord nitro generator and checker for all your nitro needs Explore the docs » Report Bug · Request Feature · J

509 Jan 02, 2023
Python3 library that can retrieve Chrome-based browser's saved login info.

Passax EDUCATIONAL PURPOSES ONLY Python3 library that can retrieve Chrome-based browser's saved login info. Requirements secretstorage~=3.3.1 pywin32=

Auax 1 Jan 25, 2022
A nuker for Roblox accounts.

Roblox-Nuker A nuker for Roblox accounts. Made by Ice Bear#0167 Usage I would recommend running in replit (https://replit.com) as it is deprecated in

7 May 10, 2022
Fun telegram bot =)

Recolor Bot About Fun telegram bot, that can change your hair color. Preparations Update package lists sudo apt-get update; Make sure Git and docker-c

Just Koala 4 Jul 09, 2022
Scheduled Block Checker for Cardano Stakepool Operators

ScheduledBlocks Scheduled Block Checker for Cardano Stakepool Operators Lightweight and Portable Scheduled Blocks Checker for Current Epoch. No cardan

SNAKE (Cardano Stakepool) 4 Oct 18, 2022
Python script to decode the EU Covid-19 vaccine certificate

vacdec Python script to decode the EU Covid-19 vaccine certificate This script takes an image with a QR code of a vaccine certificate as the parameter

Hanno Böck 244 Nov 30, 2022