FB-bot js üzerinde, gupshup

oy
0

Özellikle, zaman uyumsuz arama fonksiyonları ile sorunun çözümü için arıyorum context.simplehttp.makePost(url, param, header);gupshup API dan. Ben somut sırayla birden çok ileti göndermek gerekir.

İşte kod:

function MessageHandler(context, event) {
if (event.messageobj.type == msg) {
if (Array_CH(hi_array, message)) {
var contextParam = JSON.stringify(event.contextobj);
var url = https://api.gupshup.io/sm/api/bot/ + event.botname + /msg;
var param = context= + contextParam + &message=;
var header = { apikey: b3843dad0a484ad3ca19b5358be6c809, Content-Type: application/x-www-form-urlencoded };
var catalogue;
var button;
var param1;
param = context= + contextParam + &message=Hey.\nContest called The vivid Emotions needs your assessment.\nLook what emotions here. Do you agree?\nOr are your feelings totally different?;
context.simplehttp.makePost(url, param, header);
catalogue = {
            type: catalogue,
            msgid: cat_212,
            items: [
                {
                    title: Design1,
                    subtitle: Quisque consectetur ornare malesuada.\n Nunc dapibus nec felis.,
                    imgurl: http://sv777.ru/images/stati/239465865852987356diz.jpg,
                    options: [
                        {
                            type: url,
                            title: About,
                            url: http://laminat-parket.net/product/room-yasen-dizajn
                        }
                    ]
                },
                {
                    title: Design2,
                    subtitle: Donec purus sem, mollis a fermentum sit amet, pretium sed lectus.\n Ut at mattis purus.,
                    imgurl: http://laminat-parket.net/upload/productions/55794d8198b65.jpg,
                    options: [
                        {
                            type: url,
                            title: About,
                            url: http://laminat-parket.net/product/room-yasen-dizajn
                        }
                    ]
                },
                {
                    title: Design3,
                    subtitle: Proin nec turpis leo.\n Nam metus augue, aliquam vitae laoreet sed, dignissim a risus.,
                    imgurl: http://www.askwallpapers.com/pic/201502/2880x1800/askwallpapers.com-17168.jpg,
                    options: [
                        {
                            type: url,
                            title: About,
                            url: http://laminat-parket.net/product/room-yasen-dizajn
                        }
                    ]
                },
                {
                    title: Design4,
                    subtitle: Phasellus vitae justo sed velit faucibus hendrerit.\n Aenean scelerisque eros ac tortor tincidunt feugiat.,
                    imgurl: http://www.kidsworldstudio.net/wp-content/uploads/2015/11/bunk-bed-plans-for-kids-bedroom-ideas-home-interior-design-3353-loft-bed-for-kids-loft-bed-for-kids1.jpg,
                    options: [
                        {
                            type: url,
                            title: About,
                            url: http://laminat-parket.net/product/room-yasen-dizajn
                        }
                    ]
                },
                {
                    title: Design5,
                    subtitle: Pellentesque risus nibh, porttitor vitae diam ut, facilisis aliquet velit.\n Quisque scelerisque massa urna. ,
                    imgurl: http://www.wallpaper4k.com/download.php?res=interior%2FWP67USXQ.jpg,
                    options: [
                        {
                            type: url,
                            title: About,
                            url: http://laminat-parket.net/product/room-yasen-dizajn
                        }
                    ]
                }
            ]
        };
button = {
            msgid: bt_2,
            type: survey,
            question: Put your Like and change this rating!,
            options: [
                {
                    type: url,
                    title: Yes,
                    url: http://www.wallpaper4k.com/uk/wallpapers/interior%20design/wp67usxq.html,
                    webview_height_ratio: full
                },
                {
                    type: url,
                    title: Add your own project,
                    url: http://www.wallpaper4k.com/uk/wallpapers/interior%20design/wp67usxq.html,
                    webview_height_ratio: full
                },
                {
                    type: text,
                    title: Need own bot?,
                }
            ]
        };
param = context= + contextParam + &message= + JSON.stringify(catalogue);
param1 = context= + contextParam + &message= + JSON.stringify(button);
context.simplehttp.makePost(url, param, header);
context.simplehttp.makePost(url, param1, header);
return;
  }
 }
}

Ama mesajlar her zaman rasgele sırada gönderin.

Oluştur 17/11/2016 saat 18:52
kaynak kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
1

Bir HTTP çağrısı izin gerekiyor somut sırayla birden çok ileti göndermek için ikinci arama yapmadan önce infaz bitirmek. Gupshup en IDE kullanarak HTTP çağrısı yaparken asenkron davranışı işlemek için iki yol vardır -

  1. Varsayılan HttpResponseHandler kullanın. Bu işleyici her zaman HTTP çağrı bittikten yürütülmesi denir.

  2. HTTP çağrısı yaparken kendi geri çağırma işlevi tanımlayın. Gibi - context.simplehttp.makePost (url formParams, başlıklar, işlevi)

Ben daha kolay çoklu HTTP çağrıları için yapar gibi 2 seçeneği kullanılarak öneriyoruz.

olur # 2'yi kullanarak bir dizi 3 mesaj göndermek için sahte kod -

function MessageHandler(context, event) {
  context.simplehttp.makePost(url, formParams, headers, secondMsg); 
//sending 1st message
}
function secondMsg(event,context){
    context.simplehttp.makePost(url, formParams, headers, thirdMsg); //sending 2nd message
}
function thirdMsg(event,context){
    context.sendResponse("I am the last message");
}

NOT - kullanarak context.sendResponse mesajı gönderir ve sonraki ileti botu tarafından alınana kadar kod yürütülmesine çıkın.

Daha fazla ayrıntı için kontrol belgesi gupshup.io üzerinde

Cevap 06/12/2016 saat 06:43
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more