All Projects → open-wa → Wa Automate Nodejs

open-wa / Wa Automate Nodejs

Licence: other
💬 🤖 The most advanced NodeJS WhatsApp library for chatbots with advanced features. Be sure to 🌟 this repository for updates!

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Wa Automate Nodejs

Messenger4j
A Java library for building Chatbots on the Facebook Messenger Platform - easy and fast.
Stars: ✭ 199 (-84.99%)
Mutual labels:  api, bot, chatbots, framework
Whatsapp Framework
⚗️Whatsapp python api
Stars: ✭ 945 (-28.73%)
Mutual labels:  api, bot, framework, whatsapp
Whatsapp Bot
BOT - WhatsApp Web in TypeScript
Stars: ✭ 170 (-87.18%)
Mutual labels:  api, bot, whatsapp
Venom
Venom is the most complete javascript library for Whatsapp, 100% Open Source.
Stars: ✭ 3,457 (+160.71%)
Mutual labels:  bot, framework, whatsapp
Wechat Go
go version wechat web api and message framework for building wechat robot
Stars: ✭ 1,381 (+4.15%)
Mutual labels:  api, bot, framework
Messenger
Package messenger is used for making bots for use with Facebook messenger
Stars: ✭ 278 (-79.03%)
Mutual labels:  api, bot, framework
Whatsapp Web.js
A WhatsApp client library for NodeJS that connects through the WhatsApp Web browser app
Stars: ✭ 4,103 (+209.43%)
Mutual labels:  api, bot, whatsapp
Sulla
👩🏻‍🔬 Javascript Whatsapp api library for chatbots
Stars: ✭ 844 (-36.35%)
Mutual labels:  bot, framework, whatsapp
Broid Kit
Bot framework powered by Broid
Stars: ✭ 58 (-95.63%)
Mutual labels:  api, bot, framework
Create Discord Bot
Create Discord bots using a simple widget-based framework.
Stars: ✭ 70 (-94.72%)
Mutual labels:  bot, framework
Chubbyphp Framework
A based PSR-15 microframework that also sets maximum flexibility with minimum complexity and easy replaceability of the individual components, but also of the framework.
Stars: ✭ 69 (-94.8%)
Mutual labels:  api, framework
Mojo Weixin
使用Perl语言(不会没关系)编写的个人账号微信/weixin/wechat客户端框架(非GUI),可通过插件提供基于HTTP协议的api接口供其他语言或系统调用
Stars: ✭ 1,181 (-10.94%)
Mutual labels:  api, bot
Talkify
Talkify is an open source framework with an aim to standardize and model conversational AI enabling development of personal assistants and chat bots. The mission of this framework is to make developing chat bots and personal assistants as easy as spinning up a simple website in html.
Stars: ✭ 68 (-94.87%)
Mutual labels:  bot, framework
Fb Botmill
A Java framework for building bots on Facebook's Messenger Platform.
Stars: ✭ 67 (-94.95%)
Mutual labels:  bot, chatbots
Foal
Elegant and all-inclusive Node.Js web framework based on TypeScript. 🚀.
Stars: ✭ 1,176 (-11.31%)
Mutual labels:  api, framework
Dreamfactory
DreamFactory API Management Platform
Stars: ✭ 1,148 (-13.42%)
Mutual labels:  api, framework
Go Whatsapp Rest
Go WhatsApp Implementation in REST API
Stars: ✭ 86 (-93.51%)
Mutual labels:  api, whatsapp
Whatsapp Node Api
A Simple NodeJS API Wrapper for WhatsApp
Stars: ✭ 81 (-93.89%)
Mutual labels:  bot, whatsapp
Falcon
The no-nonsense REST API and microservices framework for Python developers, with a focus on reliability, correctness, and performance at scale.
Stars: ✭ 8,654 (+552.64%)
Mutual labels:  api, framework
Basicbot
A basic example of a Discord Bot written in Python. (discord.py)
Stars: ✭ 73 (-94.49%)
Mutual labels:  api, bot

wa-automate-nodejs

wa-automate-nodejs is the most advanced NodeJS library which provides a high-level API to control WA.

npm version node Downloads Average time to resolve an issue Percentage of issues still open

WhatsApp_Web 2.2106.5Twitter Follow

Deploy

Key FeaturesGetting StartedEasy APIDocumentationGet a License KeySupport

Installation and Updating

Use this command to install the library for the first time and to keep the library up to date.

> npm i --save @open-wa/[email protected]

Usage

// import { create, Client } from '@open-wa/wa-automate';
const wa = require('@open-wa/wa-automate');

wa.create().then(client => start(client));

function start(client) {
  client.onMessage(async message => {
    if (message.body === 'Hi') {
      await client.sendText(message.from, '👋 Hello!');
    }
  });
}

Custom Setup

Learn more about all possible configuration options here: ConfigObject

const wa = require('@open-wa/wa-automate');

wa.create({
  sessionId: "COVID_HELPER",
  authTimeout: 60, //wait only 60 seconds to get a connection with the host account device
  blockCrashLogs: true,
  disableSpins: true,
  headless: true,
  hostNotificationLang: 'PT_BR',
  logConsole: false,
  popup: true,
  qrTimeout: 0, //0 means it will wait forever for you to scan the qr code
}).then(client => start(client));

function start(client) {
  client.onMessage(async message => {
    if (message.body === 'Hi') {
      await client.sendText(message.from, '👋 Hello!');
    }
  });
}

After executing create() function, @open-wa/wa-automate will create an instance of WA web. If you are not logged in, it will print a QR code in the terminal. Scan it with your phone and you are ready to go!
@open-wa/wa-automate will remember the session so there is no need to authenticate every time

CLI

Want to convert your WA account to an API instantly? You can now with the CLI. For more details see Easy API

> npx @open-wa/wa-automate --help

Latest Changes

With the constant updates from WA. It is advisable to always use the latest version of @open-wa/wa-automate.

Functions list

Function Reference
Receive message onMessage
Automatic QR Refresh autoRefresh
Send text sendText
Get contacts getContact
Get chats getAllChats
Get groups getAllGroups
Get group members getGroupMembersId
Send contact sendContact
Send Images (image) sendImage
Send media (audio, doc) sendFile
Send media (video) Send Videos
Send stickers sendStickerfromUrl
Decrypt media (image, audio, doc) Decrypt Media
Capturing QR Code Capturing QR Code
Multiple Sessions Multiple Sessions
Last seen getLastSeen
isOnline isChatOnline
📍 Send Location sendLocation
Simulated '...typing' simulateTyping
Send GIFs! sendVideoAsGif
Send Giphy! sendGiphy
Forward Messages forwardMessages
Listen to Read Receipts onAck
Listen to Live Locations onLiveLocation
Group participant changes onParticipantsChanged
Create Groups Create Group
add, remove, promote, demote participants Manage Participants

Checkout all the available functions here.

Running the demo

You can clone this repo and run the demo, but you will need to use typescript/ts-node:

> git clone https://github.com/open-wa/wa-automate-nodejs.git
> cd wa-automate-nodejs
> npm i
> npm i -g ts-node typescript
> cd demo
> ts-node index.ts

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Support

If you need paid support, consulting, or just want support/sponsor the ongoing development of this project, you can in the following ways:

Description Link
Get a License key Get a License key
Donate or Book 1 hour consult Buy me a coffee
Per-minute consulting Consulting
Hire me! Consulting Request

License

Hippocratic + Do Not Harm Version 1.0

Legal

This code is in no way affiliated with, authorized, maintained, sponsored or endorsed by WA or any of its affiliates or subsidiaries. This is an independent and unofficial software. Use at your own risk.

Cryptography Notice

This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.

The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].