2016-04-04 18 views
1

Kullanıcıların öğelerine göre farklı bir izleme koduyla bir SMS gönderebilmeleri için Twilio'yu kullanmaya çalışıyorum ve Twilio cep telefonu numarası, herkesin adlarının ve konumlarının listesiyle yanıt verecek bu numarayı daha önce girmiştir. Öğe daha önce izlenmemişse (daha önce hiç kimse bu kodu yazmamışsa), "Bu ped takip edilmedi."Python'da Twilio Takip Sistemi

Bunun anahtar kelime uygulaması olduğunu anlıyorum ve bunu Python'da uygulamaya çalışıyorum. Ancak, çevrimiçi Twilio Python API'sine ve diğer kaynaklarına baktıktan sonra, hala uygun kodun nasıl yazılacağı konusunda kafam karışmış durumda. Herkese şimdiden teşekkürler!

cevap

4

Eh, Python/Django kullanmak daha iyi yapardım, ama burada (Python Django) gider: Bir Twilio Numarası satın

İlk. Satın aldığınız numarada, gelen SMS mesajlarından biri olan birkaç alan vardır. Orada bir url ayarlamalısınız, cihaz SMS'i numaraya gönderdiğinde Twilio vurur (başlangıçta, bir Demo bağlantısına gider). Vurulacak URL, sunucunuzda. Yani, URL yolunu, Twilio url'ye ulaştığında çağrılacak şekilde ayarladınız. Ardından, bu gibi istek değişkenleri okumak için Python bazı kod yazmak:

from twilio.rest import TwilioRestClient 
from twilio import twiml # Get these as pip packages from Twilio 

def hello(request): # This is the script that the url hits 
    from_num = request.POST.get("From", None) # The callers number, if known, in e164 format. 
    our_num = request.POST.get("To", None) # The twilio number called, in e164 format. 
    SID = request.POST.get("MessagingServiceSid", None) # The first part of the key 
    AccountSID = request.POST.get("AccountSid", None) # the second part of the key. 
    key = "%s%s" % (SID, AccountSID) 
    message_body = request.POST.get("Body", None) # Get the actual text that was sent. 
    r = twiml.Response() # This allows the server to respond with the Twilio scripting language, twiml. 
    ~~~~~~ 
    Do Parsing stuff here, and get the list to respond with as variable "body" 
    ~~~~~~ 
    r.message(body) # This sends back your list as a text message to the sender. 
    return str(r) # Send the completed response to Twilio for forwarding. 

Hemen hemen kolay bu. Son derece karmaşık olan şey, engellenen rakamları, hataları yakalamak, kötü utf-8 metin dönüşümlerini izlemek.

Link to Twilio docs

Ayrıca tavsiye edilebilir

, HER 160 karakter bir mesajdır ve mesajlar 160 karakter kırılmış ve mesajın başına ücret uygulanır. Yani, ya mesajları 160'dan daha az olsun ya da ekstra ücreti ödemeye hazır olun.

+0

URL'yi nasıl oluşturabilir ve Python kodumu nasıl ekleyebilirim? Kodumu şu anda bir IDE'de yaşıyorum – Nate

+1

HTTP isteklerinize yanıt verebilecek bir çeşit web sunucunuz olmalı. Aksi takdirde, yalnızca zamanlanmış bir işlev oluşturabilir ve mesajları her zaman sıkça almak için mesajlaşma hizmeti REST API'sini kullanabilirsiniz. Bunu yapmakla ilgili sorun, kullanıcının anında yanıt almamasıdır. Basit bir Django sunucusunu kurmak için birçok eğitici var, ya da birisinin sizin için yapmasını sağlayabilirsiniz, örneğin: https://realpython.com/learn/start-django/ – MontyThreeCard

+0

Veya: https://www.youtube .com/izle? v = O3aBiLbprCk – MontyThreeCard