Skip to content

Instantly share code, notes, and snippets.

@mcdlee
Forked from anonymous/TextMagic.py
Last active April 8, 2020 19:49
Show Gist options
  • Save mcdlee/0404a8f976e199001ab4c0b14c68317f to your computer and use it in GitHub Desktop.
Save mcdlee/0404a8f976e199001ab4c0b14c68317f to your computer and use it in GitHub Desktop.
Send SMS via TextMagic API and Python
# 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