Skip to content
This repository was archived by the owner on Nov 4, 2025. It is now read-only.

Latest commit

 

History

History
249 lines (185 loc) · 6.79 KB

File metadata and controls

249 lines (185 loc) · 6.79 KB

ESEMPE-MD

ESEMPE-MD Banner

Node.js Version License JavaScript WhatsApp Maintenance

A simple, lightweight, and easily customizable WhatsApp Multi-Device bot with a focus on stability and ease of use.

FeaturesInstallationDocumentationContributing


Features

  • Multi-Device Support - Compatible with WhatsApp Multi-Device
  • Plugin Architecture - Modular plugin system for easy development
  • Lightweight - Built with optimal performance
  • Stable - Focus on stability and reliability
  • Easy to Use - Simple installation and configuration

System Requirements

Before getting started, ensure your system meets the following requirements:

  • Node.js version 20 or higher
  • npm or yarn package manager
  • Stable internet connection for authentication

Installation

Follow these steps to install and run the bot:

1. Clone Repository

git clone https://github.com/AgusXzz/ESEMPE-MD
cd ESEMPE-MD

2. Install Dependencies

npm install

or using yarn:

yarn install

3. Run the Bot

npm start

4. Authentication

On first run, a pairing code will appear in the terminal. Enter this code in your WhatsApp application to complete the authentication process.


Plugin Documentation

Plugin Structure

Each plugin must follow this standard structure:

/** @type {import('#lib/types.js').Plugin} */
export default {
  name: "name",                           // Plugin name (required)
  category: "category",                   // Plugin category (required)
  command: ["command1", "command2"],      // Command list (required)
  alias: ["cmd1", "cmd2"],                // Command aliases (optional)
  
  // Plugin configuration (optional)
  settings: {
    owner: true,      // Owner-only feature
    private: false,   // Private chat only
    group: true,      // Group chat only
    admin: false,     // Group admin only
    botAdmin: true,   // Bot must be admin
    loading: false    // Send loading message
  },

  // Main function called when command is executed (required)
  run: async (conn, m, context) => {
    const { Api, Func, downloadM, quoted, metadata, isOwner, isAdmin, isBotAdmin } = context;
    // Implementation code here
  },

  // Function called on every incoming message (optional)
  on: async (conn, m, context) => {
    // Implementation code here
  }
};

Context Parameters

Parameter Description
Api Wrapper for API-related functions (see lib/api.js)
Func Collection of utility functions (see lib/function.js)
downloadM Function to download media from messages
quoted Replied message object
metadata Group chat metadata
isOwner Boolean indicating if sender is owner
isAdmin Boolean indicating if sender is group admin
isBotAdmin Boolean indicating if bot is group admin

Autocomplete (JSDoc)

For autocomplete and type checking, add JSDoc above export default:

/** @type {import('#lib/types.js').Plugin} */
export default {
  // ... plugin code
};

Directory Structure

ESEMPE-MD/
├── lib/
│   ├── api.js              # API wrapper functions
│   ├── color.js            # Console color utilities
│   ├── exif.js             # EXIF metadata handler
│   ├── function.js         # General utility functions
│   ├── loadPlugins.js      # Plugin loader system
│   ├── serialize.js        # Message serialization
│   └── types.js            # TypeScript definitions
├── plugins/
│   ├── downloader/         # Download plugins
│   ├── tools/              # Tool plugins
│   └── utility/            # Utility plugins
├── config.js               # Configuration file
├── handler.js              # Message handler
├── index.js                # Entry point
└── package.json            # Package configuration

Contributing

Contributions from the community are greatly appreciated. To contribute:

  1. Fork this repository
  2. Create a branch for your feature: git checkout -b feat/feature-name
  3. Commit your changes: git commit -m 'Add: feature description'
  4. Push to the branch: git push origin feat/feature-name
  5. Create a Pull Request

For major changes, please open an issue first to discuss the changes you would like to make.


License

This project is licensed under the MIT License. See the LICENSE file for more details.


Contact

Maintainer: AgusXzz
Repository: https://github.com/AgusXzz/ESEMPE-MD


Acknowledgments

Special thanks to the following contributors and projects that have helped in the development of ESEMPE-MD:

Dika Ardnt
Dika Ardnt
WhiskeySockets
Baileys Library

Contributors

Agus
Agus
Senn
Senn
Vcepirit
Vcepirit

Made with ❤️ by the ESEMPE-MD Team

⭐ Don't forget to give a star if this project helps you!