PYMESSAGES - Google Messages Client for Python
What is this?
- This is a Google Messages Client library to send message with a backend .eg. with flask to send otp messages. This module uses your own number to work as a sms gateway api and you can send message to other person with your own number. Ported from messages-web by Swapnil Soni.
How to use
- install the package from PyPI
pip install pymessages
- Use it
- Without credentials
from pymessages.client import MessagesClient
import json
import base64
import re
client = MessagesClient()
@client.on('qr-code')
async def on_qr_code(base64Image):
print("Generating qr code.")
with open("qr.jpg", "wb") as f:
f.write(base64.b64decode(re.sub(r'^data:image\/png;base64,','',base64Image)))
@client.on('authenticated')
async def on_authenticated(service):
print("Authenticated")
creds = await client.getCredentials()
with open("credentials.json", 'w') as f:
json.dump(creds, f, indent=4)
client.launch()
client.idle()
Then you can use credentials.json file to login .
- With credentials
from pymessages.client import MessagesClient
import json
creds = MessagesClient.loadCredentialFile('credentials.json')
client = MessagesClient(creds)
@client.on('authenticated')
async def onAuthenticated(service):
inbox = await service.getInbox(start=10, limit=20) #will return 20 elements starting from the 11th element.
# By default, start is 0 and limit is 50. You can set limit to -1 to return all elements after the starting point.
print(json.dumps(inbox, indent=4))
client.launch()
client.idle()
- send message
from pymessages.client import MessagesClient
creds = MessagesClient.loadCredentialFile('credentials.json')
client = MessagesClient(creds)
TO = "+919876543210"
MSG = "Test message sent using PyMessages wrapper."
@client.on('authenticated')
async def onAuthenticated(service):
print("Sending Messages.")
await service.sendMessage(TO, MSG)
print("Done.")
client.launch()
client.idle()
- Examples are given here.
Todos
add pagination in getInboxadd sendMessage in Service- add public method in client to save credentials to a file
- sendMessage: parse to var to check if country code is included or not
- Rewrite docs with proper details
- detect if phone is not connected
- detect if web client is open in another browser or not
- Use logger module
License
ISC - Swapnil Soni ©
Metadata
Release files for pymessages 0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pymessages-0.2.tar.gz | 7.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pymessages-0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.8 kB
Release files / pymessages-0.2.tar.gz
| Download URL | pymessages-0.2.tar.gz |
|---|---|
| Size | 7.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bfca8174c65d707bd65f17b720f69844c57462a116aef1049e7cb9b8293c0688
|
|
BLAKE2b-256 checksum How to use checksums |
ee9d1427ecf32392c36267b035451b86a41188c69e60b34b0f47beadda90581c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
|
Release files / pymessages-0.2-py3-none-any.whl
| Download URL | pymessages-0.2-py3-none-any.whl |
|---|---|
| Size | 6.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
61779d2b9a50f72cd055d34fbdd041d2ea3dcfaaead2663c66cece32acb62310
|
|
BLAKE2b-256 checksum How to use checksums |
ea495cfa28ecd917afdc9a8db1ad329af3f0776006397620fc8370de3f9ca28c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
|