Skip to content

v0.1.5

Choose a tag to compare

@louisho5 louisho5 released this 25 Feb 16:25

What's Changed

  • Feature: add Makefile for local builds
  • Feature: add channel system commands, become simple and have an easier guide for user to login and enable for any of the message channels at first time
  • Feat: add WhatsApp channel with typing indicator and onboard subcommand by @thrapt in #18

New Features

Picobot now works on WhatsApp! 🎉

Uses your personal WhatsApp account via linked device — no business API or extra phone number needed. Just scan a QR code and you're in.

One-time setup

./picobot channels login
  1. Choose 3 for WhatsApp setup
  2. Scan the QR code from your phone (Settings → Linked Devices → Link a Device). The config is updated automatically — no manual editing required.

Notes: the picobot channels login command also works for Telegram, Discord & WhatsApp too.

Or edit config.json manually (First time need to run above command)

{
  "channels": {
    "whatsapp": {
      "enabled": true,
      "dbPath": "~/.picobot/whatsapp.db",
      "allowFrom": ["169032883908635"]
    }
  }
}

Note: allowFrom uses LID numbers, not phone numbers. Run picobot gateway and check the startup log to find your LID:

whatsapp: connected as 85298765432 (LID: 169032883908635)

IMPORTANT If you wants to connect with a new device, remove the whatsapp.db file, and run picobot channels login again

For Docker

docker compose run --rm -it picobot channels login
docker compose down 
docker compose up -d

"Normal" vs "Lite" builds

Since the WhatsApp integration adds approximately 13 MB to the binary, we realized that there may be other heavy packages in the future that are optional for users. Therefore, we now ship two variants:

Variant Command WhatsApp Size
Full (default) go build ./cmd/picobot ~22 MB
Lite go build -tags lite ./cmd/picobot Not included ~9 MB

Use make build to cross-compile all platforms and variants at once. The lite variant is designed for IoT and resource-constrained environments. Future heavy integrations will follow the same pattern.

Full Changelog: v0.1.4-preview...v0.1.5

Thanks to @thrapt !