私にとってはうまくいくソリューションを見つけましたが、スケーラビリティはありません。うまくいけば、それはあなたを助けます。
`var sendMessagesToUser = function(messages、sessionId){ let session = sessionsManager.getSessionBySessionId(sessionId); messages.forEach(関数(メッセージ、インデックス){
//Delay or queue messages so we'll keep order in place
setTimeout(function() {
console.log(message)
switch (message.type) {
case sessionsManager.MESSAGE_TYPES.CUSTOME:
utility.sendCustomMessage(session.userId, message.payload.facebook);
break;
case sessionsManager.MESSAGE_TYPES.TEXT:
utility.sendTextMessage(session.userId, message.speech || message.text);
break;
case sessionsManager.MESSAGE_TYPES.CARD:
utility.sendGenericMessage(session.userId, message.title, message.subtitle, message.imageUrl, message.buttons);
break;
case sessionsManager.MESSAGE_TYPES.QUICK_REPLY:
utility.sendQuickReply(session.userId, message.title, message.replies);
break;
}
}, 1000 * index);
}) }; `
のsendMessageが何をしますか? – WizKid
@WizKid sendMessage facebook/messagesに投稿します。次に例を示します。 'function sendMessage(messageData){ qs ="?access_token = "+ PAGE_ACCESS_TOKEN; fetch( 'https://graph.facebook.com/v2.6/me/messages' + qs、 {メソッド: 'POST'、 本文:JSON.stringify(messageData)、 ヘッダー:{ ' 「: 'アプリケーション/ JSON' 'のContent-Type': 'アプリケーション/ JSON' }}) .then(関数(RES){ 戻りres.json();そう }) } ' –
もちろんそれは動作しません。メッセージ1が送信される前にメッセージ2を送信しています。メッセージ2を送信する前にメッセージ1が送信されるまで待ちます。 – WizKid