Mushi is a simple, lightweight, and modular WhatsApp bot written in JavaScript using the Baileys library. It is designed to be cross-runtime, supporting Deno, Bun, and Node.js.
Warning
This project is still in development and may not work as expected.
- Multi-Runtime Support: Runs seamlessly on Deno 2+, Bun 1.3+, and Node.js 23+.
- AI Integration: Powered by Google Gemini with advanced features like automatic model switching on rate limits.
- Media Downloader: Integrated with yt-dlp for downloading content from various social media platforms.
- Games: Includes interactive games like Asah Otak, Caklontong, Math, and more.
- Defense and Security: Built-in spam message detectors and auto-reject call features for protection.
- Utility Tools: Translation, Speedtest, system statistics, and custom shell/eval commands for developers.
- User Management: Already built-in user management that come with system roles and permissions.
- Modular Plugins: Easily extendable plugin system.
Ensure you have one of the following runtimes installed:
-
Clone the repository:
git clone https://github.com/ginkohub/mushi.git cd mushi -
Setup environment variables:
cp .env.example .env
Edit .env and fill in your details:
- PHONE: Your WhatsApp number (including country code e.g.: 628xxxx).
- METHOD: Connection method (
otporqr). - SESSION: Path to session storage (e.g., sqlite:
data/session1.db, folder:data/session2/). - GEMINI_API_KEY: Your Google Gemini API key.
npm install
npm startbun install
bun run --watch example.js deno run --allow-all --watch=./src example.jsRun with auto-reload (src):
npm run devThis project uses Biome for linting and formatting:
npm run lint
npm run formatThis project is licensed under the Mozilla Public License 2.0.
