No longer under active development.
py-imessage is a library to send iMessages from your Mac computer (it does not work on Windows/Linux). It was originally used to build an API for iMessages; however, Apple doesn't support third-parties using iMessage over a few hundred marketing messages per day.
Run the following commands on the terminal
pip install py-imessage
# Disable system integrity protection in order to allow access to chat.db
csrutil disable
If running csrutil disable
doesn't work. Try this stackoverflow post
from py_imessage import imessage
import sleep
phone = "1234567890"
if not imessage.check_compatibility(phone):
print("Not an iPhone")
guid = imessage.send(phone, "Hello World!")
# Let the recipient read the message
sleep(5)
resp = imessage.status(guid)
print(f'Message was read at {resp.get("date_read")}')
Send a message to a new or an existing contact!
Args
Phone | ten-digit phone number of string type format XXXXXXXXXXX i.e. "1234567890"
Response
Message | The message you plan to send. i.e. "Hi!"
Type | Description |
---|---|
string | GUID unique to the message (used for checking on status) |
Check whether a message you sent has been delivered and read (if read receipts turned on).
Args
Guid | guid returned from sending a message
Response
Field | Type | Description | Sample |
---|---|---|---|
guid | string | guid that was passed in to the function | "3A146100-D269-4F35-BDB4-EB2FF7DBDF0F" |
date_submitted | datetime | date message was submitted | "Sun, 12 Apr 2020 05:46:48 GMT" |
date_delivered | datetime | date message was delivered to recipient's phone | "Sun, 12 Apr 2020 05:46:49 GMT" |
date_read | datetime | date message was read on recipient's phone | "Sun, 12 Apr 2020 05:47:38 GMT" |
Check whether a phone number is registered to an iPhone or an Android device. NOTE: This method is exceptionally slow, so you should cache the response.
Args
Phone | ten-digit phone number of string type format XXXXXXXXXXX i.e. "1234567890"
Response
Type | Description |
---|---|
boolean | Whether number supports receiving iMessages |
Please create an issue. Or feel free to add a PR!