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
Получение интересной информации о любой пиццерии Додо

dodopizza-abuse Получение инфорации о выбранной пиццерии Додо Установка и запуск на Linux Устанавливаем git и python: apt-get update && apt-get -y ins

Хозя 24 Nov 02, 2022
A BOT TO FIND ID OF A STICKER.

sticker id A BOT TO FIND ID OF A STICKER. THIS REPOSITORY HAVE TWO BRANCHES FOR DEPLOY WITH COMMAND & WITHOUT COMMAND. Mandatory variables API_ID - Ge

Ashik Muhammed 3 Dec 29, 2022
b2blaze

b2blaze Welcome to the b2blaze library for Python. Backblaze B2 provides the cheapest cloud object storage and transfer available on the internet. Com

George Sibble 603 Jan 03, 2023
Go-cqhttp Plugin for EFB QQ Slave.

efb-qq-plugin-go-cqhttp efb-qq-plugin-go-cqhttp 是 efb-qq-slave 的插件,需要配合 efb-qq-slave 使用,使用前请先阅读 efb-qq-slave 的文档。

XYenon 26 Dec 11, 2022
Python based Algo trading bot for Nifty / Banknifty futures and options

Fully automated Alice Blue Algo Trading with Python on NSE and MCX for Nifty / Crude / Banknifty futures and options , absolutely FREE ! This algo tra

Rajesh Sivadasan 49 Dec 31, 2022
As Slack no longer provides an API to invite people, this is a Selenium Python script to do so

As Slack no longer provides an API to invite people, this is a Selenium Python script to do so

Asynchronous wrapper для Gismeteo.ru.

aiopygismeteo Асинхронная обёртка для Gismeteo.ru. Синхронная версия здесь. Установка python -m pip install -U aiopygismeteo Документация https://aiop

Almaz 6 Dec 08, 2022
Discord Bot for League of Legends live match tracker

SABot Dicord Bot for League of Legends match auto tracker Features: Search Summoners statistics in League of Legends. Auto-notifications provide when

Jungyu Choi 4 Sep 27, 2022
Simple debugger and tester for dico-command.

dp Simple debugger and tester for dico-command. Installation pip install -U dico-dp Usage bot = dico_command.Bot(...) ... bot.load_module("dp") Comma

3 Nov 19, 2022
A telegram bot that sends a meme a day, from reddit's top meme of the day

MemeBot A telegram bot that sends a meme a day, from reddit's top meme of the day You can use the bot either with an external scheduler (ex: pythonany

Michele Vitulli 1 Dec 13, 2021
Analyzed the data of VISA applicants to build a predictive model to facilitate the process of VISA approvals.

Analyzed the data of Visa applicants, built a predictive model to facilitate the process of visa approvals, and based on important factors that significantly influence the Visa status recommended a s

Jesus 1 Jan 08, 2022
IMDbPY is a Python package useful to retrieve and manage the data of the IMDb movie database about movies, people, characters and companies

IMDbPY is a Python package for retrieving and managing the data of the IMDb movie database about movies, people and companies. Revamp notice Starting

Davide Alberani 1.1k Jan 02, 2023
A project in order to analyze user's favorite musics, artists and genre

Spotify-Wrapped This is a project about Spotify Wrapped (which is an extra option for premium accounts, but you don't need to be premium here) This pr

Hossein Mohseni 19 Jan 04, 2023
THE BEST INSTAGRAM AUTO LIKER GET MORE FOLLOWERS WITH THIS AUTOMATION

Hi 👋 , I'm Anandhu Ashok Developer making awesome things for awesome people 🚀 Connect with me: THE BEST INSTAGRAM AUTO LIKER GET MORE FOLLOWERS WITH

Anandhu Ashok 3 Jul 26, 2022
A library for demo trading | backtest and forward test simulation

Trade Engine a library for demo trading | backtest and forward test simulation Features Limit/Market orders: you can place a Limit or Market order in

Ali Moradi 7 Jul 02, 2022
Python API for British Geological Survey magnetic field calculator

Magnetic field calculator Python API for British Geological Survey magnetic field calculator. Description This project magnetic field calculator. It u

Filip Š 3 Mar 11, 2022
Date Time Userbot With Python

DATE_TIME_USERBOT An Telegram Bot By @Pythone_3 Config Vars API_ID : Telegram API_ID, get it from my.telegram.org/apps API_HASH : Telegram API_ID, get

Sinzz-sinan-m 2 Oct 20, 2021
This bot is made with Python and it is running using Docker container and is concentrated on heroku.

This bot is made with Python and it is running using Docker container and is concentrated on heroku.

Movindu Bandara 1 Nov 16, 2021
Snipe fair coin launches. Contact @dannsniper on telegram for whitelist

Pancakeswap-sniper Pancakeswap Sniper bot Full version of Pancakeswap sniping bot used to snipe during fair coin launches. With advanced options and a

36 Nov 01, 2021
aws-lambda-scheduler lets you call any existing AWS Lambda Function you have in a future time.

aws-lambda-scheduler aws-lambda-scheduler lets you call any existing AWS Lambda Function you have in the future. This functionality is achieved by dyn

Oğuzhan Yılmaz 57 Dec 17, 2022