/WBOT

A simple Web based BOT for WhatsAppβ„’ in NodeJS 😜. Working as of πŸ“… Jan 10th, 2020

Primary LanguageJavaScriptOtherNOASSERTION

WBOT

Support me on Patreon Buy me a book PayPal

A simple Nodejs BOT for whatsapp web

Preview β€’ Features β€’ Downloads β€’ How to? β€’ Technologies Used β€’ Why? β€’ Goals β€’ FAQ

πŸ” Preview

Quick preview

Screenshot gif

⚑ Features

  • 🎨 Highly customizable json
  • πŸ’― Totally Free for personal use
  • πŸ”’ Complete Privacy. Your data stays with you always
  • πŸ‘₯ Multiple instances

⬇ Downloads ⬇

macOS Windows Linux
Download v0.11-beta Download v0.11-beta Download v0.11-beta

Supported Platforms

Following platforms are supported by Wbot:

macOS The minimum version supported is macOS 10.9.

Windows Windows 7 and later are supported.

Linux:

  • Ubuntu 12.04 and later
  • Fedora 21
  • Debian 8

How to start the BOT?

STEPS

After downloading, extract the zip file and navigate to that location in your terminal. There will be a file named wbot-* . Run it and you should be good to go.

For Linux you need to provide executable permission before you execute the binary. Run the command -

chmod +x wbot-linux && wbot-linux

Note: on Linux you need a running display server (X11 or Wayland). If you run Linux on a headless server or wan't to run chmomium without visible display try xvfb-run wbot-linux.

I haven't tested Mac and Linux binaries. If you find any issues using them feel free to raise one from here

Configurations

Basic configuration is in bot.json file like replying to Hi, hello and happy birthday. You can add/remove yours if you need. Keep in mind that you need to restart the wbot to see the effects of your changes. Make sure the JSON is valid. Use VSCode or jsonlint to validate the JSON.

bot.json

appconfig

This is where all the application related (node application behavior and such things) config will stay. Will add more in future.

  • headless whether to start chrome as headless or not. this is regarding #4. Apparently, Whatsapp doesn't allow headless instances.
  • isGroupReply whether to send replies in group or not. If set to false, Bot will not reply if message received in group chat.

bot

An array of objects. Properties of Object are self explanatory.

  • Contains If message has one of that word anywhere in the message

  • exact If message is exactly as one of the messages form array

  • Response If any of the above conditions becomes true then corresponding response string will be sent as message to the user or group.

  • file name of the file (from current directory) which you want to send along with response

Blocked

Array of numbers with county code to which this bot will not reply to.

noMatch

Default reply message when no exact match found in BOT

smartreply

An object which contains suggestions and it's configs.

  • suggestions An Array of suggestions
  • clicktosend Whether to send or just write message when user clicks on suggestion

here is how that looks

smart reply gif

Run the latest code from github

This is only recommended for advanced 'node.js' users.

open a Terminal and create a new directory in your home directory, e.g. 'node' and goto there. Now download and run the latest code from github by:

git clone https://github.com/vasani-arpit/WBOT.git
cd WBOT
node src/index.js

If you run Linux on a headless server or wan't to run chmomium without visible display try xvfb-run wbot-linux.

πŸ’» Technologies

Why?

The main reason I decided to build this is that I needed a simple tool to reply to my "happy birthday" messages. I know it is kind of blunt and rude but it would take me 2-3 days to reply to all and by that time that moment would be gone. I needed a good solution to this problem. I really don't need a full-fledged AI-BOT or BOT with NLU (or some other acronym). I believe there are many people who also have such needs.

Goals

With that in mind, I know that WBOT would need to satisfy these criteria:

  • πŸš€ Fast!!!
  • πŸ‘ Friendly CLI UX
  • πŸ”’ Does not touch user’s data
  • πŸ’° Free! for personal use

If you think WBOT delivers these, let me know by putting a star ⭐ on this project

FAQ

  • Is this app built with NodeJS?

    Yes, it's built with NodeJS. Please see the Technologies section for more info.

  • What boilerplate did you use?

    None. The idea was to get a better understanding of how things work together, But I do take a cue from other projects.

  • What npm modules did you use?

  • Apart from development, What else do you do?

    I do motion design and UI/UX development.

  • Are you available for hire?

    I have a full-time job as a software developer at technobrains.net and at mindtechconsultancy.com. I am available as a freelance consultant during my spare time please let me know what you have in mind.

  • How do I contact you?

    If you find an issue, please report it here. For everything else, please drop me a line at vasani.arpit@gmail.com

  • Do you have any other projects?

    I thought you'd never ask. Yes, I do. SMA is one of them.

πŸ“ƒ Legal

This code is in no way affiliated with, authorized, maintained, sponsored or endorsed by WhatsApp or any of its affiliates or subsidiaries. This is an independent and unofficial software. Use at your own risk. Commercial use of this code/repo is strictly prohibited.

πŸ‘‹ Contact Me πŸ‘‹

Contact me on twitter Contact me on telegram Mail me