2016-12-10 7 views
5

私はコミュニケーションの中で簡単なタイマーを実装したいと思います。与えられた遅延の後の返信

私のシナリオは、5分間トレーニングする小さな数学のトレーナーです。通常のやり取りの5分後に、時間が今すぐになったことをユーザーに伝えたいと思います。ユーザーが次の入力/回答を完了するまで待つことはしません(現在は入力がない場合にのみオプションです)。

回答時間に基づいて「プッシュ」する方法はありますか?

答えて

2

会話APIはプッシュモデルをサポートしていません。ユーザーからの応答を受け取ると、タイマーを確認して適切に応答することができます。

+0

はこのいただきありがとうございます公式の答え。そのようなプッシュメッセージオプションは計画されていますか? – rekire

+4

今後予定されている機能についてはコメントできませんが、私たちは開発者からこのようなフィードバックを得ることに非常に関心があります。 –

+0

プッシュモデルは私には非常に当てはまりそうです。たとえば、予想される雨の日に傘を持ってくるようにユーザーに警告したアプリを持っていたとします。ユーザーに「今日私は傘を持っていかなければならないのですか? –

0

悲しいことに、彼らは遅延機能の任意の並べ替えを追加することに興味がないように見える: https://discuss.api.ai/t/adding-a-delay-to-responses-so-it-feels-more-real/108

しかし、これはデプロイメントの統合(例:Facebookのメッセンジャー。)とAPIの間に、サーバー側のソリューションを構築する理由の一つであります.aiは非常に便利です。API.aiソリューションの上に構築された独自のカスタムロジックによってトリガされた処理を送信することを含む、フルフィルメントをカスタマイズできます。

だから、簡単な例として、FBメッセンジャーの場合には、あなたは以下のような何かをし、ちょうどあなたがsendTextMessageを呼び出したい任意のロジックを構築することができます:

function sendTextMessage(recipientId, text) { 
 
    sendTypingOff(recipientId) 
 
    var messageData = { 
 
     recipient: { 
 
      id: recipientId 
 
     }, 
 
     message: { 
 
      text: text 
 
     } 
 
    } 
 
    callSendAPI(messageData); 
 
} 
 

 
//Calls FB messenger API. If successful returns a message ID in response 
 
function callSendAPI(messageData) { 
 
    request({ 
 
     uri: 'https://graph.facebook.com/v2.6/me/messages', 
 
     qs: { 
 
      access_token: config.FB_PAGE_TOKEN 
 
     }, 
 
     method: 'POST', 
 
     json: messageData 
 

 
    }, function (error, response, body) { 
 
     if (!error && response.statusCode == 200) { 
 
      var recipientId = body.recipient_id; 
 
      var messageId = body.message_id; 
 

 
      if (messageId) { 
 
       console.log("Successfully sent message with id %s to recipient %s", 
 
        messageId, recipientId); 
 
      } else { 
 
       console.log("Successfully called Send API for recipient %s", 
 
        recipientId); 
 
      } 
 
     } else { 
 
      console.error("Failed calling Send API", response.statusCode, response.statusMessage, body.error); 
 
     } 
 
    }); 
 
}

関連する問題