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.
- Node.js >= 24
- npm >= 9
- An interactive terminal for first-time WhatsApp login
npm install -g @manybot/manybot
npm install -g @manybot/manyplug
manybotOn first run, a configuration file is created at ~/.manybot/manybot.toml. Edit it to set up your preferences.
git clone https://git.stxerr.dev/manybot.git
cd manybot
npm install
npm startFor detailed setup instructions, see the documentation.
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 directoryBrowse available plugins at manybot.org/plugins.
View all ManyPlug's commands: manybot.org/docs/manyplug-cli
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 checkFor 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.mjsDeeper info about the framework and use are all in the official documentation.
All kinds of contributions are welcome, like:
- Plugin development. (see how to make a plugin)
- Arts, logos, ads... Express yourself! See our fanarts page.
- Code and docs: please read CONTRIBUTING.md.
- Ideas or suggestions: email us or open a issue in the repositories.
Want to become part of the team? Please join our WhatsApp group and you're in!
- many-bot/website: source code of our website, including the backend.
- many-bot/docs: official documentation. If you like to write, go there. But read CONTRIBUTING.md before.
ManyBot is distributed under the GNU General Public License v3.0.
