-
-
Save mcdlee/0404a8f976e199001ab4c0b14c68317f to your computer and use it in GitHub Desktop.
Send SMS via TextMagic API and Python
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# import modules | |
from textmagic.rest import TextmagicRestClient | |
def runAPI(): | |
username = <username> | |
token = <token> | |
global client | |
client = TextmagicRestClient(username, token) | |
def messagetext(name, examDate, examTime): | |
examDate=str(examDate) | |
date = ("%d月%d日" % (int(examDate[-4:-2]), int(examDate[-2:]))) | |
examTime=str(examTime) | |
time=("%s:%s"%(examTime[:-2], examTime[-2:])) | |
message = ("%s君您好,xx醫院提醒您,%s%s有....,若無法配合請來電(07)7533967轉0000,謝謝" % (name, date, time) ) | |
return message | |
def messageschedule(examDate): #檢查日期需要是西元 YYYYMMDD | |
examDate=datetime.datetime.strptime(str(examDate), "%Y%m%d") | |
#週一檢查,週四寄 (提前四天),其餘皆提前兩天。時間皆大約中午。 | |
if examDate.isoweekday() == 1: #週一檢查 | |
messageSchedule=examDate-datetime.timedelta(days=3, hours=12) | |
else: | |
messageSchedule=examDate-datetime.timedelta(days=1, hours=12) | |
if (messageSchedule-datetime.datetime.now()).total_seconds() < 60: #若沒有提早足夠的時間就10分鐘後寄出 | |
messageSchedule=datetime.datetime.now() + datetime.timedelta(minutes=10) | |
messageSchedule=messageSchedule.timestamp() | |
return messageSchedule | |
def sendmessage(name, messageText, phone, client, messageSchedule): | |
phone= ("886%d" % phone) | |
message = client.messages.create(phones=phone, text=messageText, sendingTime=messageSchedule) | |
# for log | |
_timestamp = datetime.datetime.now() | |
_date = _timestamp.strftime("%Y%m%d") | |
_time = _timestamp.strftime("%H%M%S") | |
filepath = "log/%s.txt" % (_date) | |
log = "%s %s %s"%(_time, phone, messageText) | |
print(log) | |
outF = open(filepath, "a+") | |
outF.write(log) | |
outF.write("\n") | |
outF.close() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment