2015-04-15 57 views
0

我正在編寫使用Twilio API,Flask和Python發送和接收SMS消息的軟件。當我回復郵件時,我還想發送一條消息給另​​一個電話號碼(從而總共發送2條消息,一條發送給原始發件人,另一條發送給完全不同的個人)。在Twilio中發送多個SMS消息回覆

@app.route("/", methods=['GET', 'POST']) 
def reply(): 

    # Send other text 
    sendMessage(to_number, text) 

    # Send response  
    resp = twilio.twiml.Response() 
    resp.sms(response) 
    return str(resp) 

sendMessage功能是::

我使用回覆短信

from twilio.rest import TwilioRestClient 

def sendMessage(to_number, text): 

    ACCOUNT_SID = "XXXXXXXXX" 
    AUTH_TOKEN = "XXXXXXXX" 
    twilioNumber = "XXXXXXXXX" 

    client = TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN) 

    client.messages.create(
     to=to_number, 
     from_=twilioNumber, 
     body=text, 
    ) 

sendMessage功能實際上並沒有發送文本到單獨的號碼(注意答覆仍作品)。還要注意,sendMessage函數在回覆函數外調用時可以正常工作。

我應該如何去發送兩個不同的文本到兩個不同的數字,以迴應只有其中一個數字的文本?

+0

'to_number'參數來自哪裏? – philnash

+0

'to_number'參數來自SQL數據庫,但我認爲這與問題無關。 – user2585945

+0

我看不清'to_number'在哪裏定義,如果它未定義,那麼這將很好地說明它爲什麼不發送消息。也許在控制器操作期間'to_number'沒有被正確地返回,這就是爲什麼你不能從路由發送消息,但是當你手動調用它的時候,它是有效的。 – philnash

回答

2

這個工作對我來說,同一信息發送到多個號碼:

from twilio.rest import TwilioRestClient 

def sendMessage(text): 
    ACCOUNT_SID = "ACXXXXXXXX" 
    AUTH_TOKEN = "YYYYYYYYYY" 
    twilioNumber = "+15551235554" 
    client = TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN) 

    NUMBERS = { 
     'Foo':'+15551235555', 
     'Bar':'+15551235556' 
    } 

    for name, number in NUMBERS.items(): 
     message = client.messages.create(
      to=number, 
      from_=twilioNumber, 
      body=text) 
     print message.sid 

也許你可以找到一種方法,這適應您的特定需求。請注意,Twilio會將您的出站短信限制爲每秒1個SMS消息片段。 More info on Rate-Limits