Skip to content

Repository files navigation

ManyBot Logo

Node.js 24+ npm 9+ GPL v3 Baileys


Framework for building WhatsApp bots, extensible with plugins.

Note

Use ManyBot responsibly and in accordance with WhatsApp's terms, local law and the consent of the people you contact. Automated or high-volume messaging can get an account rate-limited or banned. The maintainers aren't responsible for misuse, data loss or account restrictions.

Requirements

  • Node.js >= 24
  • npm >= 9
  • An interactive terminal for first-time WhatsApp login

Getting started

Install from npm (recommended)

npm install -g @manybot/manybot
npm install -g @manybot/manyplug
manybot

On first run, a configuration file is created at ~/.manybot/manybot.toml. Edit it to set up your preferences.

Develop from source

git clone https://git.stxerr.dev/manybot.git
cd manybot
npm install
npm start

For detailed setup instructions, see the documentation.

Plugins

ManyBot's functionality comes from plugins. Install them with ManyPlug:

# From manybot.org/plugins
manyplug install <plugin-name>

# Or locally
manyplug install --local ./plugin/path
manyplug link # Without installing, assuming cwd is the plugin directory

Browse available plugins at manybot.org/plugins.

View all ManyPlug's commands: manybot.org/docs/manyplug-cli

Testing

ManyBot includes both local unit/contract tests and opt-in real WhatsApp integration tests:

# Run unit and mock contract test suite (fast, offline)
npm test

# Run all verification gates (typecheck + lint + unit tests)
npm run check

For integration tests (which require a prior connection to WhatsApp), you can run:

TEST_CHAT="<group-jid>@g.us" MANYBOT_RUN_WHATSAPP_TESTS=1 npm run test:integration:local

# Manual contacts smoke probe
# Just to debug or inspect the shape of IContact
TEST_CHAT="<group-jid>@g.us" MANYBOT_RUN_WHATSAPP_TESTS=1 \
  node --import ./src/main.ts scripts/probe-contacts.mjs

Documentation

Deeper info about the framework and use are all in the official documentation.

Contributing

All kinds of contributions are welcome, like:

Want to become part of the team? Please join our WhatsApp group and you're in!

Other repositories:

License

ManyBot is distributed under the GNU General Public License v3.0.

Releases

Packages

Contributors

Languages