Wacli – WhatsApp CLI
Posted by dinakars777 6 days ago
Comments
Comment by joshwarwick15 6 days ago
Please be very careful using this tool to automate your WhatsApp - if you send too many messages, too quickly, you are going to get banned.
This is NOT an officially supported api by WhatsApp and the risk of ban is relatively high
Comment by batuhanicoz 6 days ago
As long as you don't abuse and keep your usage within the parameters of any human, you'll be fine.
Comment by theoryaway 5 days ago
https://web.archive.org/web/20240527132615/https://austinhua...
Comment by fg137 5 days ago
I (almost) don't use any Meta products, but this just convinces me that I should stay away from it as far as possible.
Comment by sigmoid10 6 days ago
Comment by joshwarwick15 5 days ago
Comment by trashb 5 days ago
Now there are a lot of implementation requirements, basically forcing you to have some kind of messaging provider. Therefore difficult to apply for an open source solution. However there is such an interface.
[0] https://developers.facebook.com/m/messaging-interoperability...
Comment by NoahZuniga 5 days ago
Comment by TeMPOraL 5 days ago
They don't have one for regular people who want to do regular end-user computation.
Comment by kamma4434 5 days ago
I totally understand why they try and make it hard for integration to happen. When compared to classic SMS, the fact that you need to start a conversation with a preapproved template means that they have a way to control casual interactions.
Comment by pancsta 5 days ago
Comment by TeMPOraL 5 days ago
I understand that WhatsApp is kinda special in that it effectively replaced SMS in some parts of the world, but IMO this needs to be looked at through the lens of other Meta effort. The same is the case with Facebook/Messenger, and has been since before WhatsApp has been a (Meta) thing - they offer multiple different official ways to support spamming users and tricking them to buy stuff, but may the Lord have mercy on you should you want to create an auto-responder or "save to calendar" script and hook it up to your personal account.
Comment by filcuk 5 days ago
Comment by TeMPOraL 5 days ago
Comment by c0balt 5 days ago
Comment by nurettin 5 days ago
Comment by boxingdog 5 days ago
Comment by ezst 5 days ago
Comment by faangguyindia 4 days ago
Comment by swyx 5 days ago
Comment by pedroslopez 5 days ago
Comment by swyx 5 days ago
Comment by faangguyindia 6 days ago
Just yesterday I setup a bot which is easy via botfather
And also, setup an app (claude built it but I had to fiddle with it, it works like pagerduty) but uses cloudflate worker to push downtime/errors (via fcm) in production (from graphana) via webhooks to "full screen, by pass dnd, alerts, with loud music, this one: https://www.youtube.com/watch?v=H0IQBWWabuU )
I named the app "Siren".
It's not straightforward to have durable hard to miss alerts about your production enviornment but good thing is this doesn't cost a cent.
Telegram group alerts are from my teammates (small team 3 members) via bot.
And Siren is for only me as I am responsible for the backend with 10 microservices, centralized logging via graphana, alloy, loki, and for metrics Prometheus.
It's all working reasonably well for me, this makes your life so much better as you fix the issues before they turn into nightmare.
Comment by jeanlucas 6 days ago
Comment by gsich 5 days ago
Comment by baq 5 days ago
Comment by gsich 4 days ago
Comment by hikarudo 5 days ago
Comment by 1vuio0pswjnm7 5 days ago
It's a strangely worded statement. What about data collection, metadata, other third parties
Maybe it's related to the fact that plaintiffs lawyers are now trying to verify what's going on inside Meta with WhatsApp through litigation discovery:
https://ia801607.us.archive.org/10/items/gov.uscourts.cand.4...
Meta's motion to dismiss seemed a little weak. Time will tell
https://ia801607.us.archive.org/10/items/gov.uscourts.cand.4...
Hearing will likely be sometime this summer
Comment by commandersaki 3 days ago
How does any of that result in Meta reading your messages?
Comment by righthand 5 days ago
Comment by lukebennett 5 days ago
Comment by Mordisquitos 5 days ago
Comment by cute_boi 5 days ago
Comment by lossyalgo 5 days ago
Comment by dTal 5 days ago
Comment by mett36 5 days ago
Comment by pwillia7 5 days ago
Comment by TeMPOraL 5 days ago
SMS security only became a problem due to 2FA, which is just one of many use cases, and the failure isn't even technical here but organizational. I agree it should've prompted more pressure to secure the system against SIM-swapping; alas this is too close to the Real World, so the tech industry instead responded with alternative that side-steps the problem by offering zero customer support. No humans to talk to = no humans to social engineer = secure. So much win.
(I'd also say the 2FA proliferation is itself a problem, but that's an unpopular opinion and for a separate discussion.)
Comment by gsich 4 days ago
Everybody does. That's why people use messaging apps.
Comment by TeMPOraL 4 days ago
Comment by lxgr 5 days ago
It doesn't work on my computer, nor does it work on my phone when I'm traveling (different SIM), so I give a damn. WhatsApp, iMessage, Signal etc. do both. I really wish there was an open, federated standard (and no, RCS is neither), but until then, I'll use what actually works for me.
SMS just sucks, and I hate that it's become so ubiquitous an authentication method when it's not even secure.
Comment by bluebarbet 5 days ago
I've never understood why so many people still chain their identities to physical SIM or even eSIMs. It's so fragile.
Comment by lxgr 5 days ago
Unfortunately, more and more services are declining to send to VoIP numbers because of seCurItY, so it's a game of cat and mouse.
Fortunately SMS is so expensive in parts of Europe and it's not allowable anymore to use SMS by itself for online payment authentication, and both issues combined have slowly been pushing companies to explore alternatives.
There unfortunately seems to be no such pressure in the US. Passkeys could solve the issue, but probably increase support request volumes enough for most companies to not bother unless forced.
Comment by Marsymars 5 days ago
Comment by toast0 5 days ago
Most of the reason to deny voip users is that many voip services give phone numbers away like candy and then those phone numbers are used to abuse other services, so checking the original carrier tends to be enough for abuse screening.
Some use cases want more though. Banking KYC has some back channel to get subscriber identification or be alerted when ownership changes; those institutions may be willing to pay for current carrier lookups and deny usage of numbers where they don't have a back channel to the current carrier.
Comment by Marsymars 5 days ago
Comment by wasabi991011 5 days ago
Unfortunately that means that my cell number which I wanted to temporarily park into VoIP while abroad is now permanently VoIP.
Comment by lxgr 5 days ago
If you're lucky, the service you care about only validates at number registration time, not at text sending time, and you can get away with it indefinitely, I suppose.
Comment by simonra 5 days ago
Living in a place where getting a replacement sim is gated behind obtaining an id from the police tied to your national id number, I wish there were other identity systems which were as robust. Much easier to get back to normal operations when the id device becomes damaged or lost with a physical sim you can shove into a cheap replacement device, than relying on backup services you need one of your digital id devices to access in the first place, especially if they're all lost at the same time in a house fire or something. The police will presumably get all my photo backups and savings if they ask nicely anyways, so the big threat to the single point of failure doesn't have a great marginal impact, while I dread the possibility of having to recover the accounts I can't get back through the local legal system given the poor 2fa recovery ecosystem.
Comment by bluebarbet 5 days ago
If the device can get damaged or lost, then the SIM can too. To buy a physical SIM or rent a virtual number online, in most jurisdictions you need to provide ID docs these days, so nothing is changed there.
Comment by gsich 4 days ago
Comment by neya 6 days ago
Comment by tcfhgj 5 days ago
Comment by morphology 5 days ago
Comment by tcfhgj 5 days ago
Comment by morphology 5 days ago
Comment by neya 5 days ago
Comment by taminka 6 days ago
Comment by rafaelmn 5 days ago
Comment by lxgr 5 days ago
Not with bots, though.
> I like that I can login from multiple devices and continue the conversation
This is also not possible with Telegram E2E, while it is with Signal and WhatsApp.
Comment by tazjin 6 days ago
Key distribution is just too hard. I think we won't get a messenger for non-tech people that works well with multi-device and E2E basically ever.
Comment by taminka 5 days ago
Comment by stavros 5 days ago
Comment by taminka 5 days ago
they even have it on fb messenger and instagram (though they recently removed e2ee completely from instagram lol)
Comment by stavros 5 days ago
Comment by wisenull 5 days ago
Comment by lxgr 5 days ago
Now it uses the Signal protocol's native multi-device capabilities, specifically in the "key per device" variant (unlike signal itself, which uses "key per account" if I'm not mistaken).
Comment by canpulseword 5 days ago
It’s not proxied via primary, otherwise it wouldn’t work if primary were offline
Comment by stavros 5 days ago
That is correct, it doesn't work.
Comment by lxgr 5 days ago
Comment by stavros 5 days ago
Comment by akdev1l 5 days ago
ref: https://faq.whatsapp.com/1317564962315842/?cms_platform=ipho...
> Use WhatsApp on your computer even when your phone is off.
ref: https://faq.whatsapp.com/378279804439436/?helpref=faq_conten...
Comment by lxgr 5 days ago
Comment by taminka 5 days ago
Comment by stavros 5 days ago
Comment by lxgr 5 days ago
Comment by TeMPOraL 5 days ago
I'm actually still jaded about this. Messenger worked fine before they broke it by introducing E2EE; it took years for them to fix the problems this caused (at least the ones that were immediately user-perceptible).
Comment by taminka 5 days ago
Comment by alex1138 5 days ago
"Let's take people's years-long history between each other and just utterly break it. Why? 'privacy'" but they've never cared about it, they're opportunistic fucks. It's Zuckerberg's company to do with it "as he wishes" https://news.ycombinator.com/item?id=16770818
Comment by ymolodtsov 6 days ago
Comment by taminka 5 days ago
Comment by tcfhgj 5 days ago
Comment by ymolodtsov 19 hours ago
Comment by tcfhgj 5 days ago
Comment by lxgr 6 days ago
Comment by BeetleB 5 days ago
I stopped using OpenClaw a while ago, but I did vibe code the very basic automations I had used OpenClaw for. Getting it to work with Telegram was trivial.
I don't use Telegram for chatting. In fact, I try not to use any IM tools with humans. ;-)
Comment by PUSH_AX 5 days ago
And how do you just get everyone you want to speak to use telegram?
Comment by risyachka 5 days ago
Comment by pratyahava 5 days ago
Comment by pawsocks 5 days ago
Comment by eamag 5 days ago
Comment by chaoz_ 5 days ago
Is there any proof of the global telegram issue related to amex links? Sounds like BS
Comment by el_io 5 days ago
Comment by johnpork343 5 days ago
Comment by zarzavat 6 days ago
Hell, I got my whatsapp account suspended (appealed and reversed) just for using the official web client too soon after creating a new account.
Comment by worldsavior 6 days ago
Comment by joshwarwick15 6 days ago
Comment by iddan 5 days ago
Comment by adaptit 5 days ago
Comment by BoppreH 6 days ago
Comment by watermelon0 6 days ago
Recently, I used a separate WhatsApp account to interact with a group chat that I have with my friends. After about a week, they disabled the account, with no way to re-enable it.
Comment by miroljub 6 days ago
An easier solution is to just not use WhatsApp at all and look for the alternatives for bot purposes. Telegram explicitly encourages bot usage with no risk of bans.
Comment by uxhacker 6 days ago
Comment by jannes 5 days ago
Comment by ButlerianJihad 5 days ago
Do you mean “jurisdictions”?
Comment by miroljub 5 days ago
There are still some European non-EU countries where you can get an anonymous phone number because laws are not fully enforced.
Comment by grey-area 5 days ago
Comment by ButlerianJihad 5 days ago
Nobody who knows law would use “legislation” in that sense, nor would they recognize it in that context, Humpty Dumpty.
Comment by BoppreH 6 days ago
Comment by predkambrij 5 days ago
Comment by jillesvangurp 5 days ago
I spun up a self hosted matrix server a few days ago using codex, docker compose, and ansible. Stupidly easy to do now. I'm running it in Hetzner on a 3.99 euro/month vm. It backs up every few hours to a bucket and I have a few integrity scripts to monitor the backups actually happen. I did that because I was getting a bit frustrated with the flaky integration with Whatsapp and Slack in openclaw. I had it up and running in half an hour with only minimal prompting.
Whatsapp kind of works but you end up chatting with yourself and then open claw posts messages as you. Not ideal. You can't easily create new users (or bot users) in Whatsapp. It probably has some kind of bot api of course but I did not explore that much.
I never quite managed to get Slack working with open claw. I tried for a few hours. I think the Slack team is asleep at the wheel snoozing through this whole AI thing. If somebody there is still paying attention to things like this, maybe make some noise internally. Anyway, they made it stupidly hard to do anything productive via their APIs. The UI for managing permissions is a disgraceful hell of complexity. Add permission. UI freezes for fifteen seconds. Reloads automatically. Unfreezes. Add the next. And whatever you do, there's always one more permission you forgot. *end rant*
Relative to Whatsapp and Slack, Matrix is stupidly easy to integrate with open claw, codex, or whatever. We're retiring Slack now as I see uses for agent driven chat bots everywhere now and I want to get rid of any kind of friction around bot related plumbing. I have no use for platforms that intentionally cripple that or treat as a toll booth.
With Matrix, you just create a bot user manually or via an API. Set a password, get an access token and do whatever. No API limits. No faff with QR codes. No permission hell (Slack). It just works. Well documented API. End to end encryption. Etc. Create as many bot users as you need. Nobody is bean counting API calls, numbers of users, etc. Refreshingly easy.
Other OSS messaging platforms are available of course. I do not have a strong opinion as to which is better yet. But now I want a Matrix cli that can do admin, message sending, and all the rest. Probably already exists. But if it doesn't I might end up generating one. Macli might be a good name.
Comment by recsv-heredoc 6 days ago
Either they’ll double-down and make this even harder -or- hopefully realise that WhatsApp is likely to be a really common control plane for AI systems in the next few years. Let’s hope the Llama energy strikes and it’s the latter.
How does WhatsMeow compare with Baileys?
Comment by batuhanicoz 6 days ago
Baileys is also a great library with a big community and one of the primary maintainers of that is also helping us with the bridge/whatsmeow. WhatsApp integration in our old app, Texts, was built with it: https://github.com/textshq/platform-whatsapp
I would recommend whatsmeow over Baileys just because we are actively involved and incentivized to keep that working perfectly, and have a lot of data points to detect any issues with it at scale.
Comment by oulipo2 5 days ago
Comment by batuhanicoz 5 days ago
Comment by kandros 5 days ago
Comment by TZubiri 6 days ago
As soon as you open up the api floodgate, you'll start to see nigerian prince agents on openclaw speed.
Comment by 3form 6 days ago
Comment by recsv-heredoc 6 days ago
Just yesterday we spoke with a $50-100m ARR org org using baileys for internal messaging!
Comment by blitzar 6 days ago
Couldnt they just use post-it notes internally and still be a $50-100m ARR org?
Comment by recsv-heredoc 6 days ago
According to one of the founders there’s no better way for them to reach a lot of low-skill part-time employees reliably.
It shows the need to bring AI to where people already are and onto the platforms they already use.
Comment by dinakars777 6 days ago
Comment by alex-nikitin 5 days ago
If anyone from Meta is reading this - we've spoken to some of your managers and there's zero appetite from your side to address this market because it's too small. I would go out of my way to help you design this for free to solve the market need.
Comment by mediaman 5 days ago
I guess they think it's a small market, or maybe you can't really monetize enterprise with ads and it's all they know how to do.
Comment by whilenot-dev 6 days ago
OT#2: Is it typical to put a package.json in a go project as replacement for a {Make,Just}file?
Comment by sixhobbits 5 days ago
Comment by nkzd 6 days ago
Comment by mawax 5 days ago
Comment by Chloride8387 6 days ago
Comment by miroljub 6 days ago
Comment by 8593376393 5 days ago
Comment by saberience 5 days ago
Whatsapp has some really stringent requirements on any kind of automation. E.g. Not messaging anyone automatically unless they messaged you with 24 hours, in fact, this is explicitly blocked if you use Meta's API. You have to use message templates in this case.
Also, any bots need to be verified with Meta etc.
And the TOS has gotten more strict recently, not less strict. So buyer beware here, Meta is really protective over reverse engineering WA protocol or automating it, so you can easily get yourself blocked or banned here.
Comment by JimmaDaRustla 5 days ago
I just switched to Signal.
Comment by mentalgear 5 days ago
At least Whatsapp itself shows ad banners that you can now connect other messaging clients into Whatsapp, so it should be normal that other clients can equally access Whatsapp.
Comment by lxgr 5 days ago
In any case, official interoperability is only for third-party messengers communicating with WhatsApp users, not for automation or bots, as I understand, so it's not a replacement for things like this project.
Comment by trashb 5 days ago
It seems Meta is able to set some rules about the interoperability making it very difficult for an FOSS implementation to emerge. Additionally organizations like Signal though technically interested in this interoperability have stated they won't lower their security standards for this.
Comment by andberx 6 days ago
How far back does the backfill actually go? Does it pull your full history from the primary device or is there some limit?
Comment by intheitmines 6 days ago
Comment by acedTrex 5 days ago
What could possibly go wrong with that.
Comment by e7h4nz 6 days ago
Comment by psychoslave 6 days ago
Comment by exitb 6 days ago
Comment by asim 6 days ago
Who are these people using the cli?
Comment by psychoslave 6 days ago
Obviously it helps that one can pipe as it might see fit in the flow of an ad hoc filled need, and so leverage on mastered composable tools.
That will never be for everyone, but it will be for no one only the day it becomes logistically unsustainable to reach some endpoint though a CLI.
Comment by pmxi 5 days ago
Comment by duskdozer 5 days ago
- automation - sometimes avoid enshittified, privacy-invading services - fast, responsive, keyboard-friendly, debloated but non-minimized, stabler interface
Comment by ktimespi 5 days ago
Comment by eisbaw 6 days ago
Comment by e7h4nz 6 days ago
Comment by ilusion 5 days ago
Comment by superfa 6 days ago
Comment by m00dy 6 days ago
Comment by mechazawa 6 days ago
Comment by batuhanicoz 6 days ago
Comment by m00dy 4 days ago
Comment by hathym 6 days ago
Comment by blitzar 6 days ago
Comment by recsv-heredoc 6 days ago
Comment by blitzar 6 days ago