Feat: Add WhatsApp channel with typing indicator and onboard subcommand#18
Conversation
- Add WhatsApp as a messaging channel using whatsmeow - QR code auth via `picobot onboard whatsapp` with proper post-pairing sync handling (waits for Connected event + device sync) - Typing presence indicator (composing/paused) matching Discord pattern - Read receipts (blue ticks) on incoming messages - Message chunking for long replies - Allowlist filtering by phone number - Quiet logger for clean onboarding output - Move setup-whatsapp under the onboard command - Add WhatsApp config schema
|
Hi @thrapt, thanks a lot for your awesome work! I really appreciate the WhatsApp integration with Whatsmeow, and it works well on my mobile. However, I am a bit hesitant because the integration requires an extra 13MB. May I ask what you think about this integration? |
|
That´s a good point. Let me take a couple of days to see if I can use other libraries to minimize the size. |
|
Hey @louisho5 The whatsmeow library is heavy because it includes:
We have a couple of options (from easy to harder):
Any of those sound doable to you? |
|
Use websocket based tech? Eg. https://baileys.wiki/docs/intro/ @thrapt @louisho5 what do you think? Otherwise we can use official fb developers page to creatre our own bot but it needs company details to set up (I did it 1y back). |
…ckages (such as Whatsapp)
|
Yes, thank you all for your help! Since the WhatsApp integration is quite heavy, I am planning to release a version without WhatsApp or other heavy packages in the future. I call it the 'lite' version, and it will be included in all upcoming releases. There will also be a full-feature version (the default) so users can choose what they need. This way, the bot can remain lightweight and run in environments like IoT or other limited-resource devices. |
|
I think a good idea is to have a modular build system: user can specify
during `go build` which modules to include, so final build can be tailored
to the user needs.
Em ter., 24 de fev. de 2026 às 09:59, louisho5 ***@***.***>
escreveu:
… *louisho5* left a comment (louisho5/picobot#18)
<#18 (comment)>
Yes, thank you all for your help! Since the WhatsApp integration is quite
heavy, I am planning to release a version without WhatsApp or other heavy
packages in the future. I call it the *'lite' version*, and it will be
included in all upcoming releases. There will also be a *full-feature
version* (the default) so users can choose what they need. This way, the
bot can remain lightweight and run in environments like IoT or other
limited-resource devices.
—
Reply to this email directly, view it on GitHub
<#18 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABR6Z2QYV32PJHXCYGSNBPT4NR7QTAVCNFSM6AAAAACV4JCI7OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTSNJTGQ3DIOBUGY>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
|
Thanks for the suggestion! This could be a great feature, but it will require some careful planning before we implement it (maybe another PR). For now, the Whatsapp feature looks good, so I am going to go ahead and merge the PR. How do you think, @thrapt? Actually, I can't wait to start using Whatsapp to communicate with Picobot. |
|
Good to go on my end |
picobot onboard whatsappwith proper post-pairing sync handling (waits for Connected event + device sync)