Hacker News new | past | comments | ask | show | jobs | submit login
I built an iMessage bot using Beeper (getclearspace.com)
142 points by anteloper on March 29, 2023 | hide | past | favorite | 61 comments



In case anyone doesn't know - the founder of Beeper is Eric Migicovsky, the founder of Pebble!

Beeper originated out of their troubles getting messaging on the Pebble working.

> “We really wanted Pebble to be able to send iMessages, but we could never figure out a way to do it because there’s no API for iMessage,” he explains. But the idea for Beeper came to a head two years ago when he learned about a protocol called Matrix. “All of Beeper is built on top of Matrix, which is this open-source federated, encrypted messaging protocol,” he says.

https://techcrunch.com/2021/01/21/pebble-founder-launches-be...


I have been using Beeper for 6 months or so now. In the start it had some bugs, but now they are more and more rare (I don't use iMessages).

Overall an amazing product, with what seems like a very active and product team behind which constants pushes out new updates. Highly recommended 10/10!


Just don't be too critical, or exasperated... They'll quickly categorise it as rude/disrespectful. Ignore any & all contribution, refund, & then bump you in an instant. And they'll do all this in a ham-fisted & egotistical/condescending way. My experience of their culture, is it doesn't bode well LT.


I'd switch in a second, but you can't use iMessage without giving Beeper your iCloud password. That's a dealbreaker for me.

I wonder if they'll offer a self-hosted option at some point.


Last I knew you could TECHNICALLY self-host everything but with little documentation on how to set it up.


Most of the bridges you can find here:

https://github.com/mautrix

Documentation is here:

https://docs.mau.fi/bridges/index.html


I have an older Mac dedicated to this singular purpose. It works well. That bridge + SmsMatrix on my android phone means I can get my text messages & iMessages from my (all iPhone family) anywhere I can load the Riot web app.

Note that it's kind of an interesting hack: IIRC It's just talking to the local sqlite data store that the Mac is receiving messages to. I worry that apple may one day say "Nope" and shut down this "API" we were never supposed to have.


Yes. Self-host using this Ansible playbook has been a joy.

https://github.com/spantaleev/matrix-docker-ansible-deploy

A top notch well managed Ansible setup!

It hasn’t integrated in a good iMessage bridge yet last I checked. Hopefully soon!


thanks for the heads up, i'm gonna give this a try! i tried to set up matrix before, but i just couldn't get it working ;(


I've been self hosting it all long before I knew it had a commercial front (Beeper), the docs are fine. That's from the POV of someone who was already running a Matrix server, though.


That option exists today. The iMessage bridge needs to run on a Mac, for obvious reasons, but not only can you self-host it, but you can plug your self-hosted bridge into the public homeserver/client entirely through their settings panel.

Here is the bridge repo: https://github.com/mautrix/imessage (tulir is employed by Beeper)


They have a self-hosted instruction here :

https://github.com/beeper/self-host

However, as it is stated, you can't use Beeper to connect to a self-hosted server. You must use other Matrix client such as Element.


When they originally had you do setup for Beeper, they would record the process, and not inform you that they were going to do that until the meeting was already open.

Beeper is made by the same guy who made Pebble watch and then sold the whole kit-n-caboodle (minus developer jobs) to Fitbit when business tanked.

I have have sent several emails asking Eric Migicovsky what guarantees he has that the privacy policy will continue to stay the same if Beeper becomes unprofitable and is sold to another company. He doesn't think an answer to this question is deserved, as he has not responded to any emails. In the meantime, he has continued to send me advertising emails reminding me I'm no longer on a waiting list, but apparently doesn't think questions from customers are worth answering.

What's the point in trusting your data to a company whose privacy policy can change if they sell it to the highest bidder and one of the co-founders has a history of just that? Especially one that has no intention of telling you that they're going to record the entire process of on-boarding you until you're entering the meeting.

I'm gonna stick with Pidgin and Matrix, especially since you can spin up your own Matrix server with the same bridges that Beeper uses, and then the only person you need to give your iCloud password is you, and not some stranger who refuses to answer valid privacy policy questions.


Not sure why but a lot of your comments are appearing as “dead”. Might want to email the admins


Unfortunately, I had to quit using Beeper a few days ago. Ever since they migrated to their new hungryserv, iMessage reliability has gotten steadily worse and worse. It culminated in an entire day of sending iMessages where Beeper gave them all a delivered checkmark... But none of them actually reached their recipients. Was fun explaining to people who were angry I hadn't messaged them back in over a day... I'm back on BlueBubbles now, hopefully it will be more reliable. Overall it's a shame because I'm really rooting for Beeper to succeed. I'm sick of all the existing chat providers.


Sounds suspiciously like apple is gradually blacklisting the serial numbers of the macs they use to send the iMessages (love to be wrong about this).


I love bluebubbles.

I have it running on my mac so I can iMessage from my Vivo X Fold (and Windows laptop) and my iPhone that sits at home shares the same number using T-Mobile digits.

This setup still lets me use my Apple Watch Ultra to receive all the same notifications over cellular.

A fun overly complicated adventure since the iPhone has been boring for years, but I really like the Apple Watch on cellular for running, skiing & Scuba Diving plus everyone I know is using iMessage...


I love using Beeper, but I disabled iMessages. It is a bit unreliable when it comes to iMessages

I use it for everything else though (Instagram, Slack, Discord, WhatsApp, Facebook, Signal)


More of a Beeper question. I couldn't find the information on Beepers website or FAQ page.

- For iMessage, does using Beeper allow you to use your own phone number to send/receive messages or do you have to use your Apple ID email to send/receive iMessages?


Although I see somebody else suggesting otherwise, I promise you that you can send/receive iMessages (and SMS messages) via your phone number if you have an iPhone. You do have to select your phone number as your "Default Alias" from the iMessage chat network configuration page, though.


I don't think it's that simple, and it's kinda up to Apple. If you have an iPhone, then yes. But if you have an Android phone, from what I can tell, there's nothing you can do to stop Apple from eventually disregarding the phone number attached to your account and sending everything from your email address. Part of the reason I use an iPhone at the moment is because my entire network uses iMessage and I run an iMessage -> Matrix bridge.


Apple ID.


Is Beeper like the once super-messaging app Adium[1]?

Do Beeper not use Apple's iCloud App-Password?

Can one not just download and use Beeper[2] without creating an account?

1. https://adium.im

2. https://www.beeper.com


Beeper is just matrix + bridges, everything is open source except the client itself, which is a very big feature because element, the biggest element client is kinda crap.


Their client is nowadays better than any other Matrix client I've used. You can now even start chats from it to Signal, Whatsapp, Telegram etc. networks you've connected into.

They just upgraded their server into their own system, written in Go. Before that they used Dendrite which is open source. I think they also rewrote all their bridges recently.


Biggest matrix*


I had a "friend" hookup hundreds of mac minis, added a decent api, setup icloud accounts, and let it rip. If you get good at sqllite you can make an entire chat app. A message goes out, a message comes in, you take an action, respond, etc etc. Apple shut that down (apple actually does have a unique hardware id they will use), but those were fun times - for my friend. But the cost beat twilios all day!


I don't see why anyone would expect this closed-beta product to not get blacklisted by Apple as soon as it gains any mainstream traction.


The disadvantage of not offering an API for iMessage is that there is no easy way to block clients. Apps like Bluebubbles have to work by being installed on an actual Mac and scraping messages from iMessage and Beeper uses a similar architecture[0]. Presumably they have a data centre full of actual macs (or VMs).

[0] https://github.com/mautrix/imessage


>that there is no easy way to block clients

Sure there is. Remove the client from the app store. They could even remotely uninstall the clients if they wanted.

>Presumably they have a data centre full of actual macs (or VMs).

Apple could ban every single one of those machines from imessage.


It used to be that you would jailbreak an iPhone 6/7 to set up with Beeper and keep it running 24/7 - seems now that's not an option, though.


In the slightly olden days, iMessage - or whatever it was called then - had a built in jabber client, and there was brief period (Sierra era?) that iMessage/iCloud could sync up all your messages across google and apple and SMS.

I _think_ it would have enabled this functionality, if anyone knew and/or investigated it.


Yep, this is when it was called iChat. I used it for that exact purpose for some time. This was before Apple had their own protocol, though; I believe it just supported AIM and XMPP.


it's actually persisted more recently. I just checked a High Sierra machine. "Messages" has an "Add Jabber Account" menu option. An it's recent enough that it plays nice with all my existing more modern iPhone/macOS etc iCloud messages.


I have my own Matrix & Bridges setup (just like Beeper but with too much maintenance). It's super easy to write bots that you can then hook into Signal, WhatsApp etc, because essentially you only need to talk to your Matrix server, and the bridges take care of the rest. Talking to Matrix is easy - there's a straightforward HTTP API.

The other day I connected the matrix-chatgpt-bot (https://github.com/matrixgpt/matrix-chatgpt-bot) with WhatsApp - it was very funny to see how people reacted.


Any docs for hooking up a bot to WhatsApp? I have WhatsApp bridge running successfully and a python echo bot running that I can call in a Matrix room, but I can't invite the bot to a WhatsApp room, it says User is already in the space


Does beeper have an API with a curl interface ?

As in, I can run a curl command with an API key and generate an imessage ?

How can I throw money at this today ?

EDIT: OK, I understand that the same restrictions are extant that always have been - namely, an Apple device needs to be involved in creating the actual imessage. So this is not the breakthrough service I thought it might be.


Beeper is a bunch of Matrix bridges run as a commercial service. You can join the wait list or set up your own Matrix+bridges if you want (though that's more fiddling around).

As Beeper is based on Matrix, you can use the standard Matrix API, use libraries like Maubot, and plenty of others in other programming languages. HTTP calls are one way to send/receive messages but there's more flexibility to be gained if you pick a wrapper library IMO.


Not sure about other chat apps, but to connect to imessage they were originally using jailbroken iphones and now use MacOS virtual machines, according to another commentator. So there is a bit of additional work that would be necessary to fully replicate it.


Looks like you're right: https://docs.mau.fi/bridges/go/imessage/index.html

Disappointing, but iMessage has always been Apple's special little protocol nobody else can use.

Still, there are Docker images out there (that break the TOS) for running macOS inside QEMU, I'm sure someone can script one of those to set up a bridge more easily?


Beeper uses the Matrix API, so yes!


Beeper looks interesting, but I wish they made it clear it's currently in waitlist-mode, BEFORE downloading the app through their custom downloader thing that you have to run

Installed the app through the installer just to remove it again because I can't use it yet


It's delivered through the app store/play these days and the site is plastered with "get started" links that take you to the signup form not the downloads landing.

Hopefully the waitlist will be gone soon though, the migration to the newer servers seems nearly complete.


I love the idea of beeper, but worried about the reliability of the bridges. This is super cool and give me a bunch of ideas though. Also hoping Sunbird has some other way to solve this problem.


I like the idea of Beeper but two issues bug me

- reliability (especially for iMessages)

- having to give them custody of passwords like iCloud


There is in fact a REST API for iMessage https://register.apple.com/resources/messages/msp-rest-api/


What you linked to is Apple Messages for Business. Individuals will not be approved for using this product, the costs are noteworthy for businesses that are approved, and live, human staffing for escalations is required on a daily basis.

There is no ability to send messages to a phone number registered with iMessage either.


"There is also plenty of fun to be had: ETA Accountability Bot - when I send “I’ll be there in 10” it could follow with an accurate translation: “on average, this means I’ll be there in 13.26 minutes”."

Brilliant!


What's the problem with using literally any other chat protocol that is not iMessage that have supported trivial chat bots for the past decade ?

Does Apple make chats that are not iMessage hard to use ?


Looking forward to a Beeper chatGPT bot


Reminds me of meebo


Still upset about Meebo. Google bought them and shut down the service with the developers put into the Google+ team, which was later shut down. In between that Hangouts was split into an app per function, many of which have been shut down.


I signed up for beeper like 3 months ago and still haven't gotten an official invite.


Seems like there's a wrapper app like this that marks the peak of each generation of chat apps. Meebo used to be the sh*t.


Missing Meebo! It was truly ahead of its time. I remember the struggle of keeping just 10+ chat windows open, but man, it was a lot of fun to use!



Are they still doing iMessages via an always on Apple computer or shipping out jailbroken iPhones?


Via MacOS VMs/containers.


Does that mean you can't use your own phone number if you're an Android user?


Yes. I am a beeper user and there is currently no mechanism to register phone numbers unless you own an iPhone.


Same :(




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: