# BotsApp: a personal assistant running on your own WhatsApp account

> BotsApp is a GPL-3.0 licensed WhatsApp userbot written in TypeScript on the Baileys reverse-engineered API, turning a personal account into a command-driven assistant for translation, media, search and group management. The README is explicit that it is unofficial, unaffiliated with WhatsApp and used at your own risk, and the project's releases date to 2021 with the default branch carrying later multi-device work.

**Prince-Mendiratta/BotsApp** — Your personal assistant, on WhatsApp! The most user friendly userbot for the platform!

- Repository: https://github.com/Prince-Mendiratta/BotsApp
- Stars: 5,524 · Forks: 1,266
- Language: TypeScript
- License: GPL-3.0
- Published: 2026-09-22 · Updated: 2026-09-22 · Language: en
- Canonical page: https://hysenlabs.com/projects/prince-mendiratta-botsapp

## A userbot, which is a different animal from a bot

The README's first line calls BotsApp your personal assistant on WhatsApp, and the operative word is userbot, an automation attached to your own personal account rather than a separate bot registered through an official API. The difference is structural, a userbot logs in as you, linked through the same QR-code device pairing a second phone would use, so everything it sends appears in your name from your number, and everything it can do is everything you can do. The project bills itself as an optimized, easy-to-use WhatsApp UserBot written in Node.js, positioned as a chat assistant and group manager to make the most out of WhatsApp. This category exists because WhatsApp's official automation surface is narrow, and the README's own legal section closes the loop honestly, the code is in no way affiliated with or endorsed by WhatsApp, it is independent and unofficial software, use at your own risk.

## Built on Baileys, linked by QR

The connection layer is @whiskeysockets/baileys, the reverse-engineered WhatsApp Web multi-device API that the inspiration section credits first, alongside Yusuf Usta and the author's own earlier X-tra-Telegram userbot, a genealogy that tells you the project grew out of the Telegram userbot scene transplanted onto WhatsApp. Linking follows the linked-device flow, scan the QR code from WhatsApp's three-dots menu under Linked devices, exactly as you would pair a desktop, and the bot's session rides that pairing. The default branch is literally named multi-device, the WhatsApp protocol generation Baileys targets, and the Dockerfile hard-resets its checkout to that branch at build time, which tells you where the maintained code lives relative to the 2021 release tags.

## The dependency list is the feature list

No command catalog is spelled out in the README, but the package dependencies read as one. Translation through the Google Translate API wrapper and a dictionary API, text to speech through google-tts-api with fluent-ffmpeg for media conversion, song lyrics through songlyrics, Urban Dictionary lookups, YouTube search through yt-search and download through ytdl-core, image editing through jimp, OCR through an ocr-space wrapper, web scraping through cheerio and jsdom, code screenshots through the carbon-now wrapper, and QR handling for the pairing itself. Persistence is layered, sequelize over sqlite3 locally with pg as the Postgres client, pino for logging, simple-git backing an updater, and chalk for console color. The picture is a swiss-army chat assistant, the kind of command set a student group's power user assembles, translated, voiced, scraped and downloaded, and the dependency choices lean on free public endpoints rather than paid APIs, which keeps the running cost at zero while making individual features only as durable as the services behind them.

## Deployment: website flow, Docker, or the legacy way

The README's easiest path runs through the project website, create an account, click Deploy BotsApp, scan the QR, adjust a settings form, and after one to three minutes the .alive command in any chat confirms deployment, with an integration message appearing on the account. Two caveats sit in bold around it, only local deployment is working for now, and the Heroku deploy button is not working, leaving the website flow and the manual paths. The Docker path is five commands:

```bash
wget -O BotsApp.tar.gz https://github.com/Prince-Mendiratta/BotsApp/archive/refs/tags/v2.0.0-beta.tar.gz
tar -xvzf BotsApp.tar.gz
cd BotsApp-2.0.0-beta
docker build -t botsapp .
docker run --rm --name botsapp botsapp
```

The GNU/Linux legacy way is the classic quartet, git clone, cd, yarn, npm start, with ffmpeg, nodejs and npm as prerequisites, and the start script itself compiles TypeScript then runs the output under a capped heap.

## Sessions break, so re-scan is documented

The session handling gets its own README section, which is the right call, because reverse-engineered sessions are the fragile part of any userbot. When local runs develop issues, the documented recovery is to delete the stored session and pair again:

```bash
rm -rf BotsApp.db session.data.json
npm start
```

The two artifacts named, a SQLite database and a session JSON, are the whole local state, so recovery is destructive but simple, and the Docker instructions carry the same warning that you will have to scan the QR at least once per fresh container. For anyone operating this seriously, the existence of the section is the useful signal, the authors expect sessions to expire or corrupt and have made re-pairing a one-liner rather than a mystery, and the updater module backed by simple-git suggests the intended workflow pulls fresh code in place rather than rebuilding from scratch each time the branch moves.

## A 2021 project with later branches

The release history is honest about age, v1.0.0 in November 2021, v1.0.1 a week later, v1.1.0 in December 2021, while the Docker instructions reference a v2.0.0-beta tag and the default branch carries multi-device work pushed as recently as 2026-06-01. The team is listed by name, Prince Mendiratta as project lead developer, Prashant Singla, Keshav Pahwa, Johann Jose and Mohit Singh Rana as core developers, and Neeraj Patel as moderator, an all-contributors roster typical of a college-era project that outgrew its founders' README. Support runs through a WhatsApp discussion group and a Telegram channel, the documentation lives on the project website, and a CHANGELOG exists in the repository for those tracing what changed across the era of the beta tags.

## The terms-of-service question, stated plainly

The category this project belongs to carries a risk the README acknowledges in its Legal section, in no way affiliated with, authorized, maintained, sponsored or endorsed by WhatsApp, independent, unofficial, use at your own risk. The practical translation is that automating a personal account through a reverse-engineered API sits outside WhatsApp's terms of service, and the enforcement mechanism is account-level, suspension of the number that hosted the bot. That makes the calculus different from ordinary open source adoption, the downside is not a bug but the loss of the account, and the mitigation is choosing which number to link. The GPL-3.0 license covers the code itself cleanly, the copyright line runs 2021 to 2022, and anyone evaluating the project should weigh the assistant's convenience against the platform's tolerance, a trade the README leaves, correctly, to the reader.

## Conclusion

Run BotsApp only if you accept the stated bargain, an automated personal account with rich commands in exchange for using an unofficial reverse-engineered API that WhatsApp's terms do not authorize, with the README itself saying use at your own risk. Choose the official WhatsApp Business API for anything commercial or irreversible, since sanctioned integrations carry no ban risk. Verify first that local deployment works for you, as the README states only local deployment currently functions, keep a recovery path for re-scanning the QR session, and do not tie the bot to an account whose loss would matter.

## FAQ

### What is the Bots app?

BotsApp is an open-source WhatsApp userbot written in TypeScript, which links to your own WhatsApp account through the QR-code device pairing and turns it into a command-driven personal assistant. The README states it is unofficial, unaffiliated with WhatsApp, and used at your own risk.

### Is there a WhatsApp bot app available?

Yes, BotsApp is one, an npm-based userbot deployable locally through Docker or a manual Node.js setup, linked by scanning a QR code under WhatsApp's Linked devices menu. The README notes that only local deployment currently works and that the Heroku one-click button is broken.

### Is a WhatsApp bot free?

BotsApp itself is free and licensed under GPL-3.0, with source code on GitHub. The costs are indirect, a machine to run it on and the risk the README warns about, since unofficial automation of a personal account falls outside WhatsApp's terms of service.

## Sources

- [Issues](https://github.com/Prince-Mendiratta/BotsApp/issues)
- [License: GPL-3.0](https://github.com/Prince-Mendiratta/BotsApp/blob/multi-device/LICENSE)
- [Prince-Mendiratta/BotsApp on GitHub](https://github.com/Prince-Mendiratta/BotsApp)
- [README](https://github.com/Prince-Mendiratta/BotsApp/blob/multi-device/README.md)
- [Releases](https://github.com/Prince-Mendiratta/BotsApp/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/prince-mendiratta-botsapp
