Получение и обработка SMS с Twilio в Python - PullRequest
0 голосов
/ 28 апреля 2018

Я изучаю Python и в качестве проекта я пытаюсь создать программу, которая будет получать SMS-сообщения, обрабатывать их, а затем, в зависимости от того, что содержится в этом сообщении, отправлять обратно информацию.

Я использую Twilio в python с Flask и ngrok для выполнения всех операций с SMS, но я до сих пор не уверен, как на самом деле получать SMS в качестве данных, которые я могу прочитать и обработать, так как нет документации, которую я могу найти в теме. Было бы здорово, если бы кто-то мог помочь мне с этим.

Я уже знаю, как получать и отправлять SMS с Twilio, мне просто нужно знать, как получить точное сообщение, которое было отправлено на мой номер Twilio.

1 Ответ

0 голосов
/ 29 апреля 2018

Я полагаю, что вы уже знаете, как настроить Twilio для достижения вашей конечной точки при поступлении сообщения. Если вы сконфигурируете в Twilio запрос POST, то данные, передаваемые вам из Twilio, будут в request.form.

Если вы посмотрите на пример Twilio здесь:
(https://www.twilio.com/docs/sms/tutorials/how-to-receive-and-reply-python)
действительно, в примере не используются поступающие данные.

В приведенном ниже измененном коде показаны некоторые данные, доступные по запросу (и вы можете написать свой код в зависимости от того, что вы хотите с ним сделать).

  • номер, с которого было отправлено сообщение request.form['From'],
  • Ваш номер Twilio request.form['To']
  • и тело сообщения request.form['Body']
<ч />

    from flask import Flask, request, redirect
    from twilio.twiml.messaging_response import MessagingResponse

    app = Flask(__name__)

    @app.route("/sms", methods=['POST'])
    def sms_reply():
        """Respond to incoming calls with a simple text message."""

        # Use this data in your application logic
        from_number = request.form['From']
        to_number = request.form['To']
        body = request.form['Body']

        # Start our TwiML response
        resp = MessagingResponse()

        # Add a message
        resp.message("The Robots are coming! Head for the hills!")

        return str(resp)

    if __name__ == "__main__":
        app.run(debug=True)

<Ч />

Некоторые другие параметры также доступны в запросе:

  • MessageSid
  • SmsSid
  • AccountSid
  • MessagingServiceSid
  • From
  • To
  • Body
  • NumMedia

Документы: (https://www.twilio.com/docs/sms/twiml#request-parameters)

Также вы можете найти больше примеров, если вы Google для "twilio blog python flask"

...