DEV Community

Frio Node
Frio Node

Posted on

How I Built Luna: A Multi-Dimensional WhatsApp Bot That Survives Meta's Ban Hammer

I maintain two bots: frionode/bloombot (triple instance, rotation) and united-dg/luna (latest, single instance powerhouse). Both Node.js + Baileys + 【entity-MongoDB¦canonical_name=MongoDB】 + Redis.

4 real issues:

  1. QR on server: Some VPS don't give you interactive terminal. You can't scan. Fix: I built luna_connect / xserver.frionode.online — generates BLOOM~ / LUNA~ session tokens via pairing code. Use that in SESSION env.

  2. WhatsApp bans: Not random. Caused by fast reactions + one account sending too fast in groups. Fix: REACT=false by default, queue reactions with BullMQ, and for bloombot I use triple instance rotation to spread load.

  3. Server overload: Luna logs, spawns Pokemon, watches statuses — kills small VPS. Fix: moved off free tiers to better server, added pm2 + Express dashboard on :3000 to monitor uptime.

  4. Upstash Redis limit: Free tier hits limit fast with usage tracking/caching. Fix: self-host Redis or use managed Redis with higher limit. Don't use local Mongo on VPS either, use Atlas.

If you're on Baileys, ask anything.

Stack: Node.js v18+, FFmpeg, MongoDB Atlas, Redis (self-hosted recommended), Docker optional.

AMA if you're building on Baileys. Repo: github.com/frionode/bloombot / github.com/frionode/luna_connect

P.S. Full writeup coming on Dev.to tomorrow. check single instance here: github.com/united-dg/luna


Contact: Telegram @frionode | admin@frionode.online | frionode.online

node #whatsapp #baileys #automation #javascript

Top comments (0)