58 lines
1.4 KiB
Python
Executable File
58 lines
1.4 KiB
Python
Executable File
#!/usr/bin/env python
|
|
# Sample script to show how to send long (multipart) SMS
|
|
|
|
from __future__ import print_function
|
|
import gammu
|
|
import sys
|
|
|
|
# Create object for talking with phone
|
|
state_machine = gammu.StateMachine()
|
|
|
|
# Optionally load config file as defined by first parameter
|
|
if len(sys.argv) > 2:
|
|
# Read the configuration from given file
|
|
state_machine.ReadConfig(Filename=sys.argv[1])
|
|
# Remove file name from args list
|
|
del sys.argv[1]
|
|
else:
|
|
# Read the configuration (~/.gammurc)
|
|
state_machine.ReadConfig()
|
|
|
|
# Check parameters
|
|
if len(sys.argv) != 2:
|
|
print("Usage: sendmessage.py [configfile] RECIPIENT_NUMBER")
|
|
sys.exit(1)
|
|
|
|
# Connect to the phone
|
|
state_machine.Init()
|
|
|
|
|
|
# Create SMS info structure
|
|
smsinfo = {
|
|
"Class": -1,
|
|
"Unicode": False,
|
|
"Entries": [
|
|
{
|
|
"ID": "ConcatenatedTextLong",
|
|
"Buffer": "Very long python-gammu testing message "
|
|
"sent from example python script. "
|
|
"Very long python-gammu testing message "
|
|
"sent from example python script. "
|
|
"Very long python-gammu testing message "
|
|
"sent from example python script. ",
|
|
}
|
|
],
|
|
}
|
|
|
|
# Encode messages
|
|
encoded = gammu.EncodeSMS(smsinfo)
|
|
|
|
# Send messages
|
|
for message in encoded:
|
|
# Fill in numbers
|
|
message["SMSC"] = {"Location": 1}
|
|
message["Number"] = sys.argv[1]
|
|
|
|
# Actually send the message
|
|
state_machine.SendSMS(message)
|