Abot-MD is a comprehensive WhatsApp bot built with Node.js and Baileys library. It features a modular case-based system that makes it easy to use, maintain, and extend with additional functionality.
- ποΈ Modular Architecture: Built with a case-based system for easy development and maintenance
- π§ Highly Configurable: Easy configuration through setting files
- π― Multi-Platform Support: Works on Termux, Ubuntu, Windows, VPS, and RDP
- π€ AI Integration: Supports OpenAI ChatGPT integration
- π± Rich Media Support: Handles images, videos, stickers, and documents
- π‘οΈ Security Features: Anti-link, group management, and user controls
- πΎ Database Management: Built-in database for user data, groups, and configurations
- π¨ Customizable: Easy to customize and add new commands
Make sure you have sufficient storage space and a stable internet connection.
# Update system packages
apt update && apt upgrade -y
# Install required dependencies
apt install git nodejs ffmpeg imagemagick yarn -y
# Clone the repository
git clone https://github.com/ahlulmukh/Abot-MD
cd Abot-MD
# Install project dependencies
yarn install
# Start the bot
yarn start
Download and install the following software:
Software | Link | Notes |
---|---|---|
Git | Download | Version control system |
Node.js | Download | JavaScript runtime (LTS version recommended) |
FFmpeg | Download | Important: Add to PATH environment variables |
ImageMagick | Download | Image processing library |
# Clone the repository
git clone https://github.com/ahlulmukh/Abot-MD
cd Abot-MD
# Install dependencies
npm install
# Update packages (optional)
npm update
# Start the bot
npm start
# Clone the repository
git clone https://github.com/ahlulmukh/Abot-MD
cd Abot-MD
# Build Docker image
docker build -t abot-md .
# Run container
docker run -d --name abot-md-container abot-md
-
Open the configuration file:
config/setting.js
-
Configure the following settings:
// Bot Owner Configuration
global.owner = ["your_phone_number"]; // Your phone number without +
global.ownerNumber = ["[email protected]"];
global.nomerOwner = "your_phone_number";
// Bot Information
global.namabotnya = "YourBotName"; // Bot display name
global.namaownernya = "YourName"; // Your name
// OpenAI Configuration (for ChatGPT features)
global.keyopenai = "your_openai_api_key_here"; // Get from https://platform.openai.com/
// API Keys (Optional)
global.APIKeys = {
"https://tools.betabotz.eu.org/": "your_api_key",
"https://api.ryzendesu.vip/": "your_api_key",
};
Create a .env
file in the root directory:
# Bot Configuration
BOT_NAME=Abot-MD
OWNER_NAME=YourName
OWNER_NUMBER=your_phone_number
# API Keys
OPENAI_API_KEY=your_openai_api_key
BETABOTZ_API_KEY=your_betabotz_api_key
RYZENDESU_API_KEY=your_ryzendesu_api_key
# Database
DATABASE_URL=your_database_url (if using external database)
# Using Node.js
node main.js
# Or using npm
npm start
# Or using yarn
yarn start
# With auto-restart on file changes
npm install -g nodemon
nodemon main.js
# Using PM2 for production
npm install -g pm2
pm2 start main.js --name "abot-md"
pm2 save
pm2 startup
abot-case/
βββ π config/ # Configuration files
β βββ config.json # Bot configuration
β βββ setting.js # Main settings
βββ π function/ # Core functionality
β βββ case.js # Command handlers
β βββ π database/ # Database files
β βββ π lib/ # Utility libraries
β βββ π image/ # Bot images and media
βββ π session/ # WhatsApp session data
βββ π sticker/ # Sticker configuration
βββ main.js # Main bot file
βββ package.json # Dependencies and scripts
βββ README.md # This file
!help
- Display help menu!info
- Bot information!ping
- Check bot response time
!sticker
- Convert images/videos to stickers!toimg
- Convert sticker to image!download
- Download media from URLs
!antilink
- Toggle anti-link protection!welcome
- Set welcome message!kick
- Remove user from group (admin only)
!ai [question]
- Chat with AI!img [prompt]
- Generate images with AI
Use !menu
command in WhatsApp to see all available commands
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature
- Commit your changes
git commit -m 'Add some amazing feature'
- Push to the branch
git push origin feature/amazing-feature
- Open a Pull Request
- Follow the existing code style
- Add comments for complex logic
- Test your changes thoroughly
- Update documentation if needed
- Check internet connection
- Verify WhatsApp session is active
- Check console for error messages
- Ensure Node.js version is 16 or higher
- Clear npm cache:
npm cache clean --force
- Delete
node_modules
and reinstall:rm -rf node_modules && npm install
- Delete
session
folder - Restart bot and rescan QR code
- π§ Email: [email protected]
- π¬ Telegram: @ahlulmukh
- π Issues: GitHub Issues
This project is licensed under the ISC License - see the LICENSE file for details.
- Thanks to @WhiskeySockets for the Baileys library
- Thanks to all contributors who help improve this project
- Special thanks to the open-source community
Made with β€οΈ by Ahlul Mukh
If this project helped you, please consider giving it a β