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
Search stock images (e.g. via Unsplash) and save them to your Wagtail image library.

Wagtail Stock Images Search stock images (e.g. via Unsplash) and save them to your Wagtail image library. Requirements Python 3 Django = 2 Wagtail =

Vicktor 12 Oct 12, 2022
4 Oct 28, 2021
A Python wrapper for the Dogehouse API.

Python wrapper for the dogehouse API Installation pip install dogehouse Example from dogehouse import DogeClient, event, command from dogehouse.entiti

Arthur 36 Jun 15, 2022
Facebook Clooning Tool BD...

Facebook Clooning Tool BD...

Ariyan Ahmed Mamun 2 Feb 16, 2022
Ice-Userbot adalah userbot Telegram modular yang berjalan di Python3 dengan database sqlalchemy

Ice-Userbot Telegram Ice-Userbot adalah userbot Telegram modular yang berjalan di Python3 dengan database sqlalchemy. Berbasis Paperplane dan ProjectB

6 Apr 29, 2022
Crypto-trading-simulator - Cryptocurrency trading simulator using Python, Streamlit

Crypto Trading Simulator Run streamlit run main.py Dependency Python 3 streamli

Brad 12 Jul 02, 2022
The successor of GeoSnipe, a pythonic Minecraft username sniper based on AsyncIO.

OneSnipe The successor of GeoSnipe, a pythonic Minecraft username sniper based on AsyncIO. Documentation View Documentation Features • Mojang & Micros

1 Jan 14, 2022
A modern, easy to use, feature-rich, and async ready API wrapper improved and revived from original discord.py.

A Python API wrapper that is improved and revived from the original discord.py

Orion 19 Nov 06, 2021
Embed the Duktape JS interpreter in Python

Introduction Pyduktape is a python wrapper around Duktape, an embeddable Javascript interpreter. On top of the interpreter wrapper, pyduktape offers e

Stefano 78 Dec 15, 2022
Código que verifica se o grafo é Hamiltoniano (Em Python)

Código para encontrar um ciclo de Hamilton em um dado grafo e a partir daí verificar se o grafo é hamiltoniano. Um ciclo hamiltoniano é um ciclo gerad

Hemili Beatriz 1 Jan 08, 2022
Bendford analysis of Ethereum transaction

Bendford analysis of Ethereum transaction The python script script.py extract from already downloaded archive file the ethereum transaction. The value

sleepy ramen 2 Dec 18, 2021
Ts-matterbridge - Integrate TeamSpeak Chat with MatterBridge

TeamSpeak-MatterBridge Bot You can use this bot to integrate TeamSpeak Chat with

4 Sep 25, 2022
Offline reverse geocoder in Python using sqlite3

rgeocode Offline reverse geocoder rgeocode accepts a geographic coordinate pair (latitude and longitude) and returns a list containing the name of: A

Venkat 7 Dec 01, 2021
A melhor maneira de atender seus clientes no Telegram!

Clientes.Chat Sobre o serviço Configuração Banco de Dados Variáveis de Ambiente Docker Python Heroku Contribuição Sobre o serviço A maneira mais organ

Gabriel R F 10 Oct 12, 2022
Streaming Finance Data with AWS Lambda

A data pipeline consisting of an AWS lambda function reading data from yfinance API, an AWS Kinesis stream to receive & store data in S3 buckets and AWS Glue crawler & Athena to run SQL queries.

Aarif Munwar Jahan 4 Aug 30, 2022
Yuichixspam - TLEEGRAM SPAM BOT For Python

𝒀𝑼𝑰𝑪𝑯𝑰 ✘ 𝑺𝑷𝑨𝑴 𝑩𝑶𝑻ノ 🚀 Deploy on Heroku (https://heroku.com/deploy?t

MOHIT X PANDIT 6 Jan 30, 2022
A reddit.com bot that will return reference links from official python documentation site for the standard library.

Python Docs Bot A reddit.com bot that will return documentation links for the library and language reference sections of the python docs website. The

Trevor Miller 2 Sep 14, 2021
All in one Search Engine Scrapper for used by API or Python Module. It's Free!

All in one Search Engine Scrapper for used by API or Python Module. How to use: Video Documentation Senginta is All in one Search Engine Scrapper. Wit

33 Nov 21, 2022
Pure Python 3 MTProto API Telegram client library, for bots too!

Telethon ⭐️ Thanks everyone who has starred the project, it means a lot! Telethon is an asyncio Python 3 MTProto library to interact with Telegram's A

LonamiWebs 7.3k Jan 01, 2023
Bot that embeds a random hysterical meme from Reddit into your text channel as an embedded message, using an API call.

Discord_Meme_Bot 🤣 Bot that embeds a random hysterical meme from Reddit into your text channel as an embedded message, using an API call. Add the bot

2 Jan 16, 2022