私はubuntuサーバー(14.04.4 LTS)でnode.js(v5.10.1)を実行しています。 npm(@ kikinteractive/kik)がインストールされています。ここで kik botサーバーはPOSTを受信していますがbot.onTextMessage(...)は応答していません
(https://www.npmjs.com/package/@kikinteractive/kik)
は私が書かれているserver.jsファイルです:'use strict';
const util = require('util');
const http = require('http');
const Bot = require('@kikinteractive/kik');
const port = 80;
let bot = new Bot({
username: 'botnamehere',
apiKey: 'blablabla-1001-0110-1001-2112blablabla'
});
bot.onTextMessage((message)=>{
message.reply(message.body);
});
var server = http.createServer(bot.incoming());
server.on('request', function (request, response) {
bot.incoming();
// I added this to write the request
// so that I could verify my server was receiving from kik
console.log(request.method);
console.log(request.headers);
console.log(request.url);
var fs = require('fs');
fs.writeFile("./logfile.log", JSON.stringify(request.headers), function(err) {
if(err) {
return console.log(err);
}
console.log("The kik request was saved!");
});
});
server.listen(port);
注:IPアドレスは、KIK構成のウェブフックを使用した、サーバがポート80
をリッスンしています私はKIK構成は(キーデータは、このポストされた質問のために交換されている)ここに示されている私のサーバーでPOSTリクエストでKIKアプリの結果から、テキストメッセージ、として正しいと思われることを知っている:
{「ホスト」 「x-kik-username」:「botname」、「x-cloud-trace-context」、「x-kik-signature」、「x-kik-signature」、「x-kik-signature」:「8-bit- : "272c0f7616d6189bla9540d1e47668f5/5407793903926111947"、 "content-length": "307"、 "connection": "キープアライブ"、 "user-agent": "AppEngine-Google; ";" accept-encoding ":" gzip、deflate、br "}
そして私は私のサーバがkikにメッセージを送ることができることを知っています。そして、KIKアプリで受信したメッセージを確認:
bot.send(Bot.Message.textを( '何!')、 'ユーザ名');
そこで質問です:私の設定が正しいと思われる場合は、私のサーバでPOSTを確認することができ、サーバからkikにメッセージを送ることができるようにkik npmが正しくインストールされているという点で、bot.incoming()とbot.onTextMessageはなぜ私のサーバ大きな、ダム、高価なレンガ?何が足りないのですか?
ご協力いただきまして誠にありがとうございます。
ありがとうございます。
を行うことによって、それを指定することができます。どんなに私はonTextMessageハンドラで試してみましたが、何KIKドキュメントが提供するすべての例を使用して、任意のは、私は、他の場所のいずれも認められませんserver.jsのサンプルは私のサーバー上で期待どおりに動作しました。しかし、私はconsole.logを追加する(要求。ヘッダー)、私は私のサーバーがKikからPOSTを受け取ることがわかります。何の中に? – tbmac3