2017-11-10 20 views
2

バックチャネルと位置情報を共有することができます。ボットフレームワークのwebchatチャンネルでユーザーの場所を共有するにはどうすればよいですか?

私はボットに直接話をするために、このコードを使用するように考えていた:私は、Web経由で話すとき

function postButtonMessage() { 
 
     botConnection.postActivity({ 
 
      entities:{type: "ClientCapabilities", requiresBotState: true, supportsTts: true, supportsListening: true}, 
 
      from: { id: 'userid', name: 'username' }, 
 
      name: 'botname', 
 
      type: 'message', 
 
      value: 'Hi', 
 
      textFormat: 'plain' 
 
      }) 
 
      .subscribe(function (id) { 
 
      console.log('"buttonClicked" sent'); 
 
      }); 
 
     };

しかし、私は「悪いゲートウェイ502」というエラーを取得しますが、それは完全に動作するので、私はダイレクトラインキーが正しく設定されていることを知っています。そして、私がmessageの代わりにタイプeventを使用すると、それはうまく動作し、問題はないので、私はそれについて混乱しています。

(もともとhttps://github.com/Microsoft/BotFramework-WebChat/issues/778#で尋ねた質問)

+0

backchannelの使い方を知りたいのですが? –

+0

私はバックチャネルを使用していますが、イベントのためだけです...私はウェブ上で私のボットを実装しましたが、今はユーザのGPS座標の現在の位置を送信する必要があります。 Facebookでは、私たちは場所を送信するためにボタンを使用していますが、Facebookでしか動作しませんが、ウェブではそのことをどうするかについてはわかりません。 – eflorespalma

答えて

0

がここに二つのアプローチがあります。

バックチャネルを使用して、好きなデータでeventアクティビティをボットに送信することです。ボタンをクリックするか、一定の間隔で、または場所が変わるたびに、これを行うことができます。

var dl = new BotChat.DirectLine({secret}); 

BotChat.App({ 
    botConnection: dl, 
    // other Chat props go here 
}); 


function postButtonMessage() { 
    dl.postActivity({ 
     from: { id: 'userid', name: 'username' }, 
     type: 'event', 
     name: 'location', 
     value: { /* location goes here */ } 
     }) 
    .subscribe(id => { 
     console.log('"buttonClicked" sent'); 
    }); 
}; 

他はそれが出て行くように各メッセージを傍受して変更することで、すべてのメッセージを表示して、そのデータを送信するためにクライアントミドルウェアを使用することです。このアプローチの利点は、各メッセージがその場所で「タグ付け」されていることです。欠点は、ユーザーがメッセージを送信したときにのみ場所の更新を取得することです。

var dl = new BotChat.DirectLine({secret}); 

BotChat.App({ 
    botConnection: { 
     ... dl, 
     postActivity: activity => dl.postActivity({ 
      ... activity, 
      channelData: { location: /* location goes here */ } 
     }) 
    }, 
    // other Chat props go here 
}); 

もちろん、両方を行うこともできます。

+0

こんにちはBill - ボットフレームワークタグの質の高さについてMetaに関する議論がありました。(https://meta.stackoverflow.com/questions/357645/can-we-work-with-microsoft-to -improve-the-quality-of-questions-theyre-referencing)を使用します。 GIthubからの質問をここに紹介する場合は、トピック上のスタックオーバーフローの質問で期待される詳細レベルをポスターが理解できるようにすることができれば幸いです。それは、コミュニティのサポートに協力してくれてありがとう! –

+0

@ SamHanley実際に私は今朝それについて考えていて、全く同感です。申し訳ありません。 –

+0

心配はいりません!ちょうど私が元の形で以来、私はここにそれを言及すると思った、この質問は閉鎖される可能性が高いです。編集していただきありがとうございます - 文法上の編集をいくつか行い、編集提案を承認しました。それは感謝しています! –

関連する問題