GithubHelp home page GithubHelp logo

classicvalues / wa-automate-nodejs Goto Github PK

View Code? Open in Web Editor NEW

This project forked from open-wa/wa-automate-nodejs

1.0 1.0 0.0 144.76 MB

๐Ÿ’ฌ ๐Ÿค– The most advanced NodeJS WhatsApp library for chatbots with advanced features. Be sure to ๐ŸŒŸ this repository for updates!

Home Page: https://docs.openwa.dev/

License: Other

TypeScript 83.55% JavaScript 14.80% HTML 0.69% Handlebars 0.08% CSS 0.71% SCSS 0.17%

wa-automate-nodejs's Introduction

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.2147.16Twitter Follow

Deploy to DO

Key Features โ€ข Getting Started โ€ข Easy API โ€ข Documentation โ€ข Get a License Key โ€ข Support

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/wa-automate@latest

Usage

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

Custom Setup

Learn more about all possible configuration options here: ConfigObject

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

wa.create({
  sessionId: "COVID_HELPER",
  multiDevice: true, //required to enable multiDevice support
  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

Multi Device Support

We're currently in a weird transitionary period where some people are being forced to adopt Multi Device (MD). Once the transition is complete, the library default will be to turn on MD support. For now, you have to set it yourself explicitly either by using the --multi-device flag (with the CLI) or setting multiDevice: true in your config (with your custom code)

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.

wa-automate-nodejs's People

Contributors

smashah avatar github-actions[bot] avatar dependabot-preview[bot] avatar dependabot[bot] avatar danielcardeenas avatar greenkeeper[bot] avatar classicvalues avatar andersondeoliveiramachado avatar marcelocecin avatar phantom-limb avatar m7mdcc avatar lxndr-rl avatar basboot avatar bbayugt avatar christianfds avatar deepsourcebot avatar imgbotapp avatar jersonjunior avatar jesusvalverde avatar theonlyjohnny avatar mrodal avatar scropion86 avatar nanaksr avatar apnerve avatar rzlnhd avatar 13banda avatar sandro-salles avatar unknown-consortium avatar zagbutnozig avatar feliperaul avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.