Alright is a python wrapper that helps you automate WhatsApp web using python, giving you the capability to send messages, images, video, and files to both saved and unsaved contacts without having to rescan the QR code every time. Why Alright? I was looking for a way to control and automate WhatsApp web with Python; I came across some very nice libraries and wrappers implementations, including: pywhatkit pywhatsapp PyWhatsapp WebWhatsapp-Wrapper So I tried , a well crafted to be used, but its implementations require you to open a new browser tab and scan QR code every time you send a message, no matter if it's the same person, which was a deal-breaker for using it. pywhatkit I then tried which is based on and require you to do some registration with before using it of which after a bit of googling, I got scared of having my number blocked. So I went for the next option. pywhatsapp , yowsup yowsup I then went for . It has some good documentation and recent commits so I had hoped it is going to work. But It didn’t for me, and after having a couple of errors, I abandoned it to look for the next alternative. WebWhatsapp-Wrapper by shauryauppal, which was more of a CLI tool than a wrapper, surprisingly worked. Its approach allows you to dynamically send WhatsApp messages to unsaved contacts without rescanning QR-code every time. PyWhatsapp So what I did is refactoring the implementation of that tool to be more of a wrapper to easily allow people to run different scripts on top of it. Instead of just using it as a tool, I then thought of sharing the codebase with people who might struggle to do this as I did. Getting started You need to do a little bit of work to get to running, but don’t worry, everything will work well if you just carefully follow through with the documentation. alright Installation We need to have alright installed on our machine to start using, either directly from or using . GitHub pip Installing directly You first need to clone or download the repo to your local directory and then move into the project directory as shown in the example and then run the below command: git https://github.com/Kalebu/alright alright alright > python setup.py install .... clone cd Installing from pip pip install alright Setting up Selenium Underneath alright is which does all the automation work by directly controlling the browser, so you need to have a selenium driver on your machine for to work. Selenium, alright So primarily, I developed and tested on a Chrome browser, and therefore it's gonna require you to have and . alright Chrome chromedriver You need to make sure you download the chrome driver compatible with the Chrome version you’re using; otherwise, it won’t work, and also, don’t forget to extract the zip version of a driver. Here is a to check the version of chrome you’re using guide Adding selenium driver to the path Add the selenium driver location to the to be discovered by , which varies depending on the operating system you’re using. path alright For instance, let's say the current location our driver is in (You can view the full path to your driver by running the command). /home/kalebu/chrome-driver PWD Linux For Linux to permanently add the path to the browser, do this: nano ~/.bashrc and then add the command to export the folder at the very bottom of the file & then Ctrl+X to save it PATH= export " :/home/kalebu/chrome-driver" $PATH Windows For window users, follow this . guide Now, after that, we’re ready to automate and control WhatsApp web using alright. What you can do with alright: Send Messages Send Images Send Videos Send Documents When you’re running your program made with alright , you can only have one controlled browser window at a time. If you run while another window is live, it raises an error, so make sure to close the controlled window before running another one. Sending Messages To send a message with alright, you first need to target a specific user by using the method, and then you can start sending messages to the target user using the method as shown in the example below: find_user() send_message() alright WhatsApp messenger = WhatsApp() messenger.find_user( ) messages = [ , ] message messages: messenger.send_message(message) >>> from import >>> >>> '2557xxxxxz' >>> 'Morning my love' 'I wish you a good night!' >>> for in Multiple numbers Here how to send a message to multiple users. Let’s say we want to wish merry-x mass to all our contacts. Our code is going to look like this: alright WhatsApp messenger = WhatsApp() numbers = [ , , ] number numbers: messenger.find_user(number) messenger.send_message( ) >>> from import >>> >>> '2557xxxxxx' '2557xxxxxx' '....' >>> for in "I wish you a Merry X-mass and Happy new year " You have to include the country code in your number for this library to work, but don’t include the (+) symbol. Sending Images Sending a message is nothing new - it's just the fact you have to include a path to your image instead, or raw string characters, and also you have to use , Here is an example: s end_image() form alright WhatsApp messenger = WhatsApp() messenger.find_user( ) messenger.send_image( ) >>> import >>> >>> 'mobile' >>> 'path-to-image' Sending Videos Similarly, for videos, just use method; send_videos() alright WhatsApp messenger = WhatsApp() messenger.find_user( ) messenger.send_video( >>> from import >>> >>> 'mobile' >>> 'path-to-video) Sending Documents The rest of the documents, such as Docx, pdf, audio, etc. falls into the category of documents, and you can use to do that. send_files() alright WhatsApp messenger = WhatsApp() messenger.find_user( ) messenger.send_file( )) >>> from import >>> >>> 'mobile' >>> 'path-to-file' Well, that's all for now for the package. To request a new feature makes an issue to the official repository. Contributions is an open-source package under license, so contributions are warmly welcomed. When contributing to code, please create an issue before making your changes to discuss implementation. Alright MIT Credits All the credits to: kalebu shauryauppal and all the contributors Previously published on . https://kalebujordan.dev/automating-whatsapp-web-with-alright/