【问题标题】:Sending Multiple SMS Messages in Twilio Reply在 Twilio 回复中发送多条 SMS 消息
【发布时间】:2015-04-15 06:09:14
【问题描述】:

我正在使用 Twilio API、Flask 和 Python 编写软件来发送和接收 SMS 消息。当我回复一条消息时,我还想向另一个电话号码发送一条消息(因此总共发送 2 条消息,一条给原始发件人,一条给完全不同的人)。

我使用以下方式回复短信:

@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函数在回复函数之外调用时可以正常工作。

我应该如何将两个不同的文本发送到两个不同的号码以响应仅来自其中一个号码的文本?

【问题讨论】:

  • to_number参数从何而来?
  • to_number 参数来自 SQL 数据库,但我认为这与问题无关。
  • 我看不到 to_number 的定义位置,如果它未定义,那么这将很好地表明它为什么不发送消息。也许to_number 在您的控制器操作期间没有正确返回,这就是您无法从路由发送消息的原因,但是当您手动调用它时它可以工作。

标签: python flask twilio


【解决方案1】:

这对我来说可以将相同的消息发送到多个号码:

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 将您的出站 SMS 限制为每个号码每秒 1 个 SMS 消息段。 More info on Rate-Limits

【讨论】:

  • 他们现在已经删除了“TwilioRestClient”,我们可以使用 from twilio.rest import Client client = Client(account_sid, auth_token)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-06
  • 1970-01-01
相关资源
最近更新 更多