Twilio 番号にテキスト メッセージを送信し、ユーザーに一連の質問を開始したいと考えています。初めてテキスト メッセージを送信する場合は、新しい「発信者」を作成する必要があります。彼らが以前にプレイしたことがある場合は、「last_question」を調べて、適切な質問をしたいと思います。以下のコードでは、SMS 応答が返されず、Twilio エラー「HTTP 取得失敗」が返されます。
models.py には
class Caller(models.Model):
body = models.CharField(max_length=200)
from_number = models.CharField(max_length=20)
last_question = models.CharField(max_length=2, default="0")
def __unicode__(self):
return self.body
views.py で
def hello_there(request):
body = request.REQUEST.get('Body', None)
from_number = request.REQUEST.get('From', None)
try:
caller = Caller.objects.get(from_number = from_number)
except Caller.DoesNotExist:
caller = None
if caller:
if caller.last_question == "0":
if body == "Password":
message = "Welcome to the game. What is 3 + 4?"
caller.last_question = "1"
else:
message = "What is the password?"
else:
message = "you broke me"
else:
new_caller = Caller(body=body, from_number=from_number, last_question="0")
new_caller.save()
message = "New user created"
resp = twilio.twiml.Reponse()
resp.sms(message)
return HttpResponse(str(resp))