Fast · Lightweight · Fully Customizable
A modular WhatsApp MD bot — fork it, brand it, ship it. Free forever.
| Category | Commands |
|---|---|
| 🛡️ Admin | 21 |
| 🤖 AI | 3 |
| 🌸 Anime | 9 |
| 🎉 Fun | 13 |
| ⚙️ General | 21 |
| 🎬 Media | 11 |
| 👑 Owner | 18 |
| ✍️ Text Maker | 18 |
| 🔧 Utility | 3 |
| Total | 117 |
- 🔓 Fully Open Source — edit, rebrand, and host anywhere, no permission needed
- 🧩 Modular Command System — each command is its own file under
commands/ - 🎵 Video → MP3 — convert replied videos to downloadable MP3 with
.mp3/.tomp3 - 🖼️ Auto Sticker — auto-convert images/videos to WhatsApp stickers in groups
- 🔒 Group Protection — antilink, antitag, anti-group mention, mute/unmute
- 👋 Welcome / Goodbye — image-based join/leave messages with profile picture
- 🤖 AI Commands — ChatGPT text, image generation, magic studio
- 🎨 Text Maker — 18 stylized text effects (fire, neon, glitch, matrix, and more)
- 📲 Media Downloaders — YouTube (song/video), TikTok, Instagram, Facebook, Pinterest. Knight API is tried first, then automatic fallback to other APIs/scrapers
- ⚡ RAM-Optimized — streaming media handling + automatic temp file cleanup
- 🔄 Auto React — react to commands or all messages with emoji
- 🛡️ Bot Admin Checks — live metadata fetching for reliable admin operations
Generate a pair code to obtain your session string:
Paste the returned string into config.js:
sessionID: 'KuttuBotMD!919876543210'# 1. Clone
git clone https://github.com/GouthamSER/KuttuBot-mini-MD.git
cd KuttuBot-mini-MD
# 2. Install Node.js 20
sudo apt remove nodejs -y
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs ffmpeg
# 3. Install dependencies
npm install
# 4. Set session (edit config.js or export env var)
# Option A: paste session string in config.js → sessionID: 'your_string_here'
# Option B: scan QR → sessionID: '' then run bot
# 5. Start
node index.jsQR mode: leave
sessionIDempty, run the bot, scan the QR from WhatsApp → Linked Devices.
| Key | Description | Default |
|---|---|---|
sessionID |
Session string, format KUTTU~<id> (or empty for QR) |
'' |
prefix |
Command prefix | . |
botName |
Display name of the bot | Kuttu Bot Mini |
knightApiKey |
Key for Knight API (primary downloader). Env: KNIGHT_API_KEY |
knight |
knightApiBase |
Knight API base URL. Env: KNIGHT_API_BASE |
https://knightbotapi.stream |
ownerNumber |
Your WhatsApp number(s) | ['91XXXXXXXXXX'] |
autoTyping |
Show typing indicator on commands | true |
autoReact |
Auto-react to messages | false |
selfMode |
Owner-only mode (private mode) | false |
blockedGroups |
Array of blacklisted group JIDs while in public mode | [] |
When the bot is running in Public Mode (selfMode: false), it responds to users across all groups. With Antigroup, the bot owner can block specific groups so the bot remains completely dormant/silent in those groups:
- Block current group: Send
.blockgroup [reason]inside the group. - Block by JID: Send
.blockgroup <groupJid> [reason](e.g..blockgroup 120363024849204892@g.us Toxic group). - Unblock group: Send
.unblockgroup [groupJid]. - List blocked groups: Send
.listblockedgroups(or.blockedgroups). - Get group/chat JID: Send
.jidto copy the current group's JID. - Make bot leave group: Send
.leave [groupJid]to have the bot leave gracefully.
Storage: Blocked groups are persisted in database/antigroup.json and can also be defined in config.js under
blockedGroups.
Every downloader tries Knight API first. If it fails, the bot falls back automatically.
| Command | Order |
|---|---|
.song |
Knight → EliteProTech → Ruhend → Yupra → Okatsu → Izumi |
.video |
Knight → EliteProTech → Ruhend → Yupra → Okatsu |
.tiktok |
Knight → Siputzx → ttdl |
.facebook |
Knight → bochilteam scraper |
.pinterest |
Knight → nexray |
.instagram / .story / .igs |
Knight → ruhend igdl |
Set your own key: export KNIGHT_API_KEY=your_key (or edit config.js).
Reply to any video (or audio) message and send:
.mp3
or
.tomp3
The bot converts it to a downloadable .mp3 file using FFmpeg and sends it back.
KuttuBot-mini-MD/
├── assets/ # logo.svg, logo.png
├── commands/
│ ├── admin/ # Group management (kick, mute, warn, antilink …)
│ ├── ai/ # AI features (ChatGPT, image gen)
│ ├── anime/ # Anime image commands
│ ├── fun/ # Fun commands (truth, dare, tictactoe …)
│ ├── general/ # Sticker, TTS, translate, QR …
│ ├── media/ # YouTube, TikTok, Instagram, MP3 converter …
│ ├── owner/ # Bot management (restart, update, broadcast …)
│ ├── textmaker/ # Stylized text effects
│ └── utility/ # Calc, translate, weather
├── utils/
│ ├── converter.js # FFmpeg wrappers (toAudio, toPTT, toVideo)
│ ├── tempManager.js
│ ├── api.js
│ └── sticker.js
├── config.js
├── handler.js
├── database.js
└── index.js
| Goutham SER | Re-edited & maintains Mini version |
| Mr Unique Hacker | Original developer |
| @whiskeysockets/baileys | WhatsApp Web API |
All package.json contributors |
Open-source libs |
- Built for educational purposes only
- NOT an official WhatsApp product
- Using third-party bots may violate WhatsApp ToS and risk account bans
- Use at your own risk — developers are not responsible for bans or damages
- Do not use for spam, bulk messaging, harassment, or illegal activities
MIT License — Copyright © 2026 Goutham Josh
You are free to use, modify, and distribute this project provided you:
- Keep original license and copyright notices
- Credit the original authors
- Do not use for spam or malicious purposes
