【发布时间】: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在您的控制器操作期间没有正确返回,这就是您无法从路由发送消息的原因,但是当您手动调用它时它可以工作。