Support for sending/receiving iMessages
Project description
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.
Installation
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
Sample Usage
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")}')
Documentation
Sending a message
Send a message to a new or an existing contact!
.send(phone, message)
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) |
Message status
Check whether a message you sent has been delivered and read (if read receipts turned on).
.status(guid)
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” |
Checking iMessage compatibility
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.
.check_compatibility(phone)
Args
Phone | ten-digit phone number of string type format XXXXXXXXXXX i.e. “1234567890”
Response
Type |
Description |
|---|---|
boolean |
Whether number supports receiving iMessages |
Contributing
Please create an issue. Or feel free to add a PR!
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file py-iMessage-1.7.tar.gz.
File metadata
- Download URL: py-iMessage-1.7.tar.gz
- Upload date:
- Size: 6.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f11295493be29b9386814f21fab2e80db79cc97551eb56947560c5fb30af48e
|
|
| MD5 |
d4563938886b666a2ed29002e3425d98
|
|
| BLAKE2b-256 |
c8f68963f8a3b0f9dcb10e27ff4ddd31c0e78cc4cd38825f16d88e1469116be0
|
File details
Details for the file py_iMessage-1.7-py3-none-any.whl.
File metadata
- Download URL: py_iMessage-1.7-py3-none-any.whl
- Upload date:
- Size: 7.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa3e86baa8935cac0dfeeea111a86f9ba0be8d96c19f72eca2e84fbad1dc3a82
|
|
| MD5 |
902edb2981820e61b1535f2ab6b02e28
|
|
| BLAKE2b-256 |
4719afff32be8d68b9623c8c168d2d1550897ee5ea6366529747b28b7882ce3f
|