2016-04-01 7 views
1

Skypeのボットを起動して、echo exampleに基づいて実行しようとしていますが、私は自分のアプリにPOSTを成功させるのに苦労しています。私が/v1/chatに投稿を送ると、私は201(成功した創造)の状態を返し、何も体にはない。私のconsole.logは何も印刷しないので、botService.on('personalMessage', ...)関数が実行されていないと思われます。これらのPOSTリクエストをどのようにフォーマットするべきか、誰にも分かりますか?私はドキュメントで何かを見つけることができないようです。Skype Botが空のボディで応答しています

マイコード:

const fs = require('fs'); 
const restify = require('restify'); 
const skype = require('skype-sdk'); 

const botService = new skype.BotService({ 
    messaging: { 
     botId: '28:<bot’s id="ID176db9ab-e313-4d76-a60c-bc2a280e9825">', 
     serverUrl : "https://apis.skype.com", 
     requestTimeout : 15000, 
     appId: process.env.APP_ID, 
     appSecret: process.env.APP_SECRET 
    } 
}); 

botService.on('contactAdded', (bot, data) => { 
    console.log('contact added'); 
    bot.reply('Hello ${data.fromDisplayName}!', true); 
}); 

botService.on('personalMessage', (bot, data) => { 
    console.log('message incoming'); 
    console.log(data); 
    bot.reply('Hey ${data.from}. Thank you for your message: "${data.content}".', true); 
}); 

const server = restify.createServer(); 
server.post('/v1/chat', skype.messagingHandler(botService)); 
const port = process.env.PORT || 8080; 
server.listen(port); 
console.log('Listening for incoming requests on port ' + port); 

答えて

0

最終編集&ソリューション:私はこの問題は、(それが彼らの自由ティア、1つのダイノで何かすることができる)何とかHerokuのによって引き起こされると思います。努力の結果、私はAzureにプログラムをアップロードしましたが、現在は完全に機能しています。


解決策:server.postコマンドでサーバーアドレスを変更する必要があります。 "https:\ www.yourwebsite.com/v1/chat"でプログラムを実行する場合は、これを変更する必要があります。

server.post('/v1/chat', skype.messagingHandler(botService)); 

this:

server.post('https:\\www.yourwebsite.com/v1/chat', skype.messagingHandler(botService)); 

もちろん、アプリID、ボットID、アプリのシークレットを指定することを忘れないでください。持っていない場合は、Skypeのアプリケーションページでパスワードを生成する必要があります。


私はOPに厳しい問題があります。私はこのチュートリアルに従いました。サーバーに準拠するようにコードを変更する方法は指定していません。したがって、プログラムを実行した後は、これが返されます。

{ "コード": "ResourceNotFound"、 "メッセージ": "/存在しない"}

エコー例にSkypeボットウェブページにおいて、それは言う。

"メッセージのボットのURLが登録時にhttps://echobot.azurewebsites.net/v1/chatに設定されていると仮定します。"

+0

に正常に動作しています。私は最近、2つのメッセージをボットでエコーしてから、もう一度動作を停止しました。ちなみに私はHerokuにデプロイされていますが、ボットがapiエンドポイントを探しているだけなので、違いはありません。 – polskais1

+0

@ polskais1鉱山もヘロクに配備されています。ちょっとfyi – user3842413

+0

うーん、知っておいてよかった。私はこの事を安定して稼働させる運があれば、私はコメントを投稿することになるでしょう! – polskais1

関連する問題