Skip to content

Deploy with Heroku

Tuhin Kanti Pal edited this page Sep 6, 2021 · 27 revisions

Deploy Whatsbot with Heroku is very simple. It is fully compatible with Heroku

Watch this tutorial on Youtube

Watch it on Youtube

Requirements :

  • Heroku account
  • MongoDB
  • YouTube Data API Key
  • A Terminal to generate the Session (Local \ Repl)

Deploy :

1. You Have to create a WhatsApp session that Whatsbot can start. You can do it by cloning this repo and run genToken.js, You can follow these steps also πŸ‘‡

Method 1
  • Open it in any terminal (NodeJS and Npm) and run the following codes
git clone https://github.com/TheWhatsBot/WhatsBot.git

cd WhatsBot

npm install

node genToken.js
  • You will see a QR code, scan this QR code from your Phone's Whatsapp Web QR scanner.
  • After you successfully do that you will get a JSON output. Copy that it will be needed while you deploy.
Method 2

Go to https://ssh.cloud.google.com or https://labs.play-with-docker.com/

  • Run This
docker run jeeetpaul/whatsbot-session
  • Scan QR Code with Whatsapp and copy the JSON
Method 3 (For Mobile)

Go to https://ssh.cloud.google.com or https://labs.play-with-docker.com/

  • Run This
docker run -p 8080:8080  jeeetpaul/whatsbot-session-lite
  • Open your 8080 Port Open 8080 Port GCP
  • Scan QR Code with Whatsapp and copy the JSON
Method 4
const WhatsBlob = document.createElement("a");
WhatsBlob.href = URL.createObjectURL(new Blob([JSON.stringify({
    WABrowserId: localStorage.getItem("WABrowserId"),
    WASecretBundle: localStorage.getItem("WASecretBundle"),
    WAToken1: localStorage.getItem("WAToken1"),
    WAToken2: localStorage.getItem("WAToken2")
})], { type: 'application/json' }));
WhatsBlob.download = "session.json";
document.body.appendChild(WhatsBlob);
WhatsBlob.dispatchEvent(
    new MouseEvent('click', {
        bubbles: true,
        cancelable: true,
        view: window
    })
);
  • A file named session.json will be downloaded, Open that and copy.

2. Now you need MongoDB, You can create it for free. Follow these steps πŸ‘‡

  • Open https://cloud.mongodb.com
  • Click the Try MongoDB Cloud Now Button
  • Now you can Fill the Form or Sign Up with Google
  • After Successfully Signed Up Type any Organization Name, Project Name and select any preferred language and click Continue
  • You can see a Pricing Page select Free and click Create a Cluster
  • Select AWS North America or Europe server only because Heroku's server is also located there and click Create Cluster
  • Now you will see a cluster is creating
  • click Network Access in Sidebar & click Add IP Address
  • Now click ALLOW ACCESS FROM ANYWHERE and Confirm that
  • click Database Access in Sidebar & click Add New Database User
  • Now in Password Authentication Method type any Username and a Password and click Add User
  • click Clusters in Sidebar & click connect & Select Connect your application
  • Now you will see an URL containing mongodb+srv:// Copy that and replace < password > with Your Previously chosen password (If you used any special character in password you have to url encode the password)
  • You need this MongoDB URL to deploy Whatsbot

3. Now you need a Youtube Data API Key, follow these steps (Optional) πŸ‘‡

  • Open https://console.cloud.google.com/ & create a project
  • Go to Apis & Services and search Youtube Data Api you will found YouTube Data API v3 select that and enable that
  • Now again go to Apis & Services click Credentials and click CREATE CREDENTIALS & select API Key
  • An API Key will be displayed Copy That it will need while you deploy Whatsbot

4. Now Everything is ready you can Deploy it, Follow these steps πŸ‘‡

  • Click this button πŸ‘‡
    Deploy with Heroku
  • Give an APP Name
  • Select the server according to your MongoDB server's Location, It will Speed Up Database intensive works
  • DEFAULT_TR_LANG - It is the default translation language for Translator Module. Default Value is en
  • MONGODB_URL - MongoDB url you grabbed before
  • PMPERMIT_ENABLED - Enable Pmpermit or Disable it. Write true or false. Default Value is true
  • PMPERMIT_MUTETIME - How many seconds an user get muted if he is spamming. Default is 30 Minutes (1800 Secs)
  • SESSION - That JSON you grabbed before by running genToken.js
  • YT_DATA_API_KEY - Youtube DATA API Key you grabbed before from GCP
  • OCR_SPACE_API_KEY - OCR Space API Key. You can get the API Key from here

5. It needed a Cron Job (> 30 mins) to keep the server alive. Follow these steps πŸ‘‡

  • Open https://cron-job.org its free
  • Click Sign Up and Complete the Signup
  • After that click cronjobs in navigation header & click Create Cron Job
  • Give your heroku application url
  • Schedule it in every 15 minutes
  • Everything rest will be default
  • click Create Cronjob to create a cron job



You will not get any error if you follow these steps correctly. However, if you encountered any error, you can message at Whatsbot Support on Telegram.

Clone this wiki locally