A premium, feature-rich Go-based WhatsApp automation bot that turns your personal WhatsApp account into a smart virtual assistant. Unlike typical bots that require expensive official Business APIs, this bot securely runs as a linked web device on your account, enabling you to manage features directly by "messaging yourself"
🛠️ The Tech Stack: How it's Built
The bot is constructed using a high-performance, lightweight, and modern stack designed for speed, ease of deployment, and low memory consumption:
Programming Language: Go (Golang v1.25) - guarantees ultra-low CPU/RAM usage, concurrency safety, and fast compilation.
WhatsApp Gateway: whatsmeow (go.mau.fi/whatsmeow) an unofficial Go library that implements the WhatsApp Web protobuffer-based E2E protocol. It links your WhatsApp account via a simple terminal QR code scan.
AI Engine: Grok AI (xAI API) - powers all automated chat responses, homework solving, translation, and birthday greetings.
Database: SQLite (modernc.org/sqlite) - a pure Go, zero-dependency embedded SQLite database. No CGO required, ensuring the binary remains highly portable across systems.
Protocol Serialization: Google Protocol Buffers (protobuf) handles message parsing and serializing directly into WhatsApp's internal structure.
Deployment Options:
Docker & Docker Compose for containerized high-availability.
Systemd Service (babebot.service) for running as a background service on any Linux VPS.
🌟 Key Features
1. 🤖 Multi-Contact Auto-Reply (AI Texting Style)
Smart Inactivity Window: If you receive a message and don't reply within a customized time (e.g., 60 seconds), the bot steps in. If you reply yourself first, the auto-reply is automatically cancelled.
Texting Style Adaptation: Uses Grok AI to analyze your conversation context and reply in a natural, human-like voice that mimics your messaging style.
2. 💕 Per-Contact Personality Profiles
Customize how the bot interacts with different people in your life:
babe: Calm, soft, sweet, affectionate, and uses pet names. (Includes protection filters to prevent accidentally removing your babe from the bot's system).
friend: Casual, warm, and friendly.
formal: Professional and business-oriented.
chill: Short, concise, and direct answers.
3. 👁️ Auto Status Viewing
Automatically views all your contacts' statuses as soon as they are uploaded. Keep your presence active without manually scrolling through status pages. Toggleable with /statusview on|off.
4. ⏰ Advanced Message Scheduling
Schedule messages to send to any contact at any specific time (e.g., /schedule mybro 14:30 Join the video meeting). A background worker processes pending schedules every 30 seconds.
5. 🎂 Automated Birthday Greetings
Store birthdays for your contacts. The bot runs a check every hour and automatically drafts a unique, AI-generated birthday greeting in the exact tone matching the recipient's personality profile (e.g., sweet for babe, chill/casual for friends).
6. 📞 Anti-Call & Blocker
Automatically rejects incoming voice and video calls when enabled, preventing unexpected interruptions. Toggleable via /anticall on|off.
7. 🛡️ Anti-Spam Filters
Filter and ignore unknown numbers that aren't on your registered whitelist, protecting your account from spam. Toggleable via /antispam on|off.
8. 🌙 AFK (Away From Keyboard) Mode
Activate a custom away message (e.g., /afk Studying for exams 📚). The bot will instantly inform anyone who messages you of your status and can be turned off simply by typing /afk off.
9. 🔓 ViewOnce Media Extractor (.vv / /vv)
Never lose ephemeral media. By quoting/replying to any ViewOnce image, video, or voice note with .vv or /vv, the bot extracts the media and sends a permanent copy directly to your direct message (DM).
10. 🖼️ Instant Sticker Maker
Reply to any image in any chat with /sticker and the bot will instantly convert it into a WhatsApp sticker.
11. 📣 Marketing Campaign Automation
Bulk Campaign Tool: Broadcast marketing campaigns to target lists with ease.
Target Selection: Load targets from harvested contacts, manual JIDs, joined groups, or file uploads (.txt, .csv, .vcf).
Media Support: Send both text and custom image payloads (by quoting an image with /campaign image).
/ask <question>: Query Grok AI for instant answers to general questions in chat.
/translate <lang> <text>: Fast AI-powered language translation.
/solve <question>: Academic step-by-step homework helper. It parses questions (or quoted messages) and outputs clear, student-friendly tutorials.
SMSGANG Integrations (/cheapdata): Promotes and displays cheap student data bundles (MTN, Airtel, Glo, 9mobile) from smsgang.org to keep students online affordably.
📲 Command Directory
You control all these features directly from your WhatsApp "Message Yourself" chat:
⚙️ Core Controls
/bot status — Check bot health, active toggles, tracked presence, and settings.
/bot on | /bot off Globally toggle auto-replies on/off.
/anticall on|off Toggle automatic call blocker.
/antispam on|off Toggle filtering for unknown numbers.
/statusview on|off Toggle auto-viewing of contact statuses.
/help Render the custom interactive help menu.
👥 Contact Management
/add <number> <profile> [nickname] Add contact to auto-reply.
/remove <number|nickname> Remove contact.
/list View all configured contacts and birthdays.
/profile <number|nick> <profile> Update a contact's AI personality profile.
/pause <nick> | /resume <nick> Pause/resume auto-reply for a single contact.
/birthday <nick> <MM-DD> Add birthday for automated greetings.
⏰ Scheduling & Summaries
/schedule <nick> <HH:MM> <msg> Schedule a message.
/schedules View list of pending scheduled messages.
/summary Get a manual summary/digest of unread messages over the last 24 hours.
/summarize <nick> Let AI analyze and summarize your recent chat history with a contact.
📣 Campaign & Marketing (Admin Only)
/export Export harvested contact database as a .vcf document.
/broadcast <msg> Send a message to all registered contacts.
/tagall [msg] Mention everyone in a group chat.
/campaign text <msg> | /campaign image — Configure campaign text and media.
A chatbot can sound helpful and still create a messy order.
When a customer changes a quantity or delivery detail, the real test is whether the system keeps the context, checks the information, and records the right request for the team.
In an 80-hour WhatsApp automation project, I built the conversation flow with structured AI output, input validation, order recording, logging, and error handling. The client rated the completed work 5.0.
That’s the part I care about most: turning a chat into a record people can actually work from, with errors visible when something goes wrong.
If your team takes orders through WhatsApp, what happens between the AI’s reply and the order record?
Order changes mid chat are where most WhatsApp bots fall apart. Did you confirm the changed details back to the customer before recording, or validate silently?
An AI content bot for IspFlow. It writes posts from live product numbers and Nigerian/Kenyan trends, designs X cards and TikTok videos in five rotating looks from a library of real app screens, adds voice, captions and sound, and sends each draft to Telegram for one-tap approval. It learns from what gets approved or skipped.
I'd separate a timing skip from a content rejection in that learning loop. Does Telegram capture why a draft was skipped, so an otherwise good format doesn't get penalized just because it wasn't the right day to publish?
WhatsApp chats piling up at a small business? I built an AI assistant that handles them, with 3 rules it never breaks.
Answer only from the business's own documents, and show the source.
If the answer isn't there, it says so and offers a person. No guessing.
Book appointments step by step, checked against the opening hours.
Sunday? Closed. Friday at 10:30? Recorded, and the owner gets a WhatsApp message.
Hand the chat to a real person the moment the customer asks.
The bot goes quiet, and the owner replies from their own WhatsApp.
The test that surprised me:
Before publishing, I ran real conversations through it. "Quiero hablar con una persona" (Spanish) reached a person. "I want to talk to a person" (English) didn't: the bot asked the customer to type "human". English was missing the word "person". Fixed, with a test so it can't come back.
Under the hood: Python, FastAPI, the official WhatsApp Cloud API and Claude, plus an offline mode that needs no API key. Signed webhooks only, no double replies, flood control. 245 tests, 98% coverage.
The detail about the English trigger failing while Spanish worked is a perfect example of why multilingual edge cases break production systems. Standardizing the handoff phrase across all supported languages prevents that kind of silent failure.