利用python實現簡訊和電話提醒功能

利用python實現簡訊和電話提醒功能

有時候,我們需要程式幫我們自動檢測某些事件的發生
這個需求是廣泛存在的
因此,這裡整理了利用python實現簡訊和電話提醒功能的方法

主要需要完成以下4個步驟:
安裝核心庫:twilio
註冊賬號及配置
傳送簡訊示例
電話提醒示例


twilio

twilio是我們需要的核心庫,我們要利用其提供的api完成所需的功能
首先安裝twilio模組(我使用的是python3)

pip3 install twilio

註冊賬號及配置

首先訪問https://www.twilio.com/並註冊一個賬號。
註冊了新賬戶後,你需要根據你的需求建立一個專案
我們想要實現簡訊提醒或電話提醒功能
因此我們選擇建立專案Programmable SMSProgrammable Voice即可
專案建立後,你可以看到賬戶的SIDtoken
1
這兩個資訊非常重要,在呼叫api時需要使用
隨後,你需要給專案申請一個手機號碼,簡訊和電話將會從這個電話傳送過來。
2
在這之後,還需要驗證自己的手機號碼,否則你無法成功收到簡訊提醒。
最後,記得將你手機號所屬國家新增到專案中,驗證中國為服務接收國家
看起來有點繁瑣,再加上twilio的官網響應有些慢,所以需要耐心的完成以上步驟。
另外,作為試用賬戶,你無需擔心話費的問題,每個專案有$15的試用話費。如果好用,再購買即可,一般情況下免費的就夠用了。


傳送簡訊示例

完成以上工作後,便可呼叫api了。
傳送簡訊的api非常簡單,程式碼如下

from twilio.rest import TwilioRestClient
#填寫你在twilio的賬號
account = "ACXXXXXXXXXXXXXXXXX"
#填入你在twilio的app token
token = "YYYYYYYYYYYYYYYYYY"
#填入你申請的號碼
twilioNumber = "00000000"
#填入你驗證的手機號
myNumber = "111111111"
#填入你想傳送的資訊
message = 'abcdefg'
client = TwilioRestClient(account, token)
client.messages.create(to=mynumber, from_=twilioNumber, body=message)
print(call.sid)

注意:簡訊內容必須為英文
這是個蠻大的坑,官網並沒有提示,我鼓搗了好久才發現的


電話提醒示例

電話提醒的api用法是類似的,但要準備一個類似於xml的檔案,並向api提供該檔案的可訪問url
該檔案用於指定來電的具體內容,構造方法詳見官網
這裡提供一個示例,程式碼如下

from twilio.rest import TwilioRestClient
#填寫你在twilio的賬號
account = "ACXXXXXXXXXXXXXXXXX"
#填入你在twilio的app token
token = "YYYYYYYYYYYYYYYYYY"
#填入你申請的號碼
twilioNumber = "00000000"
#填入你驗證的手機號
myNumber = "111111111"
client = TwilioRestClient(account, token)
client.calls.create(url='https://demo.twilio.com/welcome/voice/', to=myNumber , from_=twilioNumber)
print(call.sid)

上面的程式碼會向你的手機撥打一通電話
電話的內容是url所對應的檔案制定的,是twilio官網的一個示例檔案
你可以通過構建自己的檔案讓來電朗讀制定的內容。