UNPKG

whatsauto.js

Version:

Easy WhatsApp Automation with Session

138 lines (102 loc) โ€ข 3.8 kB
# WhatsAuto.js - Easy WhatsApp Automation An easy-to-use library for creating WhatsApp Automation App. Stand above [Baileys](https://github.com/WhiskeySockets/Baileys) Library. This library will be lightweight library for WhatsApp. Not require Selenium or any other browser. ## ๐Ÿš€ Installation Install package using npm ``` npm i whatsauto.js@latest ``` Then import the library ```ts import AutoWA from "whatsauto.js"; ``` or ```ts const { default: AutoWA } = require("whatsauto.js"); ``` ## ๐Ÿ—’๏ธ Insight WhatsAuto.js is designed to simplify the process of automating WhatsApp tasks. By leveraging the power of the Baileys library, it provides a robust and efficient way to interact with WhatsApp without the need for browser automation tools like Selenium. This makes it a lightweight and efficient solution for developers looking to integrate WhatsApp functionalities into their applications. Additionally, WhatsAuto.js uses the Object-Oriented Programming (OOP) paradigm, making it an excellent choice for developers who prefer or are accustomed to OOP. This approach enhances code reusability, scalability, and maintainability, which are essential for long-term project development. ## ๐Ÿชง Examples ### Make WA Session / Client ```ts import AutoWA from "whatsauto.js"; // using QR (default) const autoWA = new AutoWA("session_name", { printQR: true }); // or const autoWA = new AutoWA("session_name"); // or, using pair code (experimental) const autoWA = new AutoWA("session_name", { phoneNumber: "628xxxx" }); // listen to some event const ev = autoWA.event; ev.onConnected(() => { console.log("Client Ready!"); }); ev.onMessage(async (msg) => { console.log(msg.text); }); // initialize session await autoWA.initialize(); ``` ### Session Parameters ```ts { /** * Print logs into Terminal */ logging?: boolean; // true (default), false /** * Print QR Code into Terminal */ printQR?: boolean; // true (default), false /** * Phone number for session with pairing code */ phoneNumber?: string; // 62822xxxxx (62 is your country code) } ``` ### IWAutoMessage APIs ```ts ev.onMessageReceived(async (msg) => { // read this message await msg.read(); if (msg.text == "react") // react this message await msg.react("๐Ÿพ"); if (msg.text == "text") // reply this message with text await msg.replyWithText("Hello!"); if (msg.text == "image") // reply this message with image await msg.replyWithImage("https://picsum.photos/536/354"); if (msg.text == "video") // reply this message with video await msg.replyWithVideo( "https://github.com/rafaelreis-hotmart/Audio-Sample-files/raw/master/sample.mp4" ); if (msg.text == "audio") // reply this message with audio await msg.replyWithAudio( "https://github.com/rafaelreis-hotmart/Audio-Sample-files/raw/master/sample.mp3" ); if (msg.text == "sticker") { // convert this message to sticker buffer (if its has media) const [sticker, hasMedia] = await msg.toSticker(); // or // const sticker = await msg.toSticker({ pack: "whatsauto.js", author: "freack21" }); if (hasMedia) { // reply this message with audio await msg.replyWithSticker(sticker); } } if (msg.text == "typing") // reply this message with typing presence await msg.replyWithTyping(1000); // 1000ms / 1s if (msg.text == "recording") // reply this message with recording presence await msg.replyWithRecording(1000); // 1000ms / 1s }); ``` ## ๐Ÿงพ Disclaimer This library is for educational and research purposes only. Use it responsibly and at your own risk.